1

我想知道在哪种情况下.NET Window Service 的 OnStop() 不会触发?

电脑突然重启、停电、关机或其他情况时会不会起火?

4

1 回答 1

2

它将在机器的服务控制管理器收到该服​​务的停止指令的情况下触发。

如果有人选择通过服务 MMC 管理单元执行停止操作(直接到您的服务或标记为依赖项的服务),或者如果有人sc stop在命令行发出命令(同样,或者到您的服务或依赖项)。

或者,如果机器上运行的任意程序(具有足够权限)连接到服务控制管理器并发出停止命令,则可能会发生这种情况。

电脑突然重启、停电、关机或其他情况时会不会起火?

  • 突然重启 - 没有
  • 电源故障 - 如评论中所述,显然不是。
  • 关机 - 否
  • 任何其他 - 如上所述

有一个接收关机事件的选项 - 请参阅CanShutdownOnShutdown。您还可以处理一些电源状态更改事件(请参阅 参考资料OnPowerEvent)。

于 2012-05-22T07:29:00.320 回答