在这种情况下,.NET Window Service 的 OnStop() 将不会触发

本文关键字:OnStop 这种情况下 NET Window Service | 更新日期: 2023-09-27 18:34:50

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

当计算机突然重启,断电,关机或任何其他情况时会触发吗?

在这种情况下,.NET Window Service 的 OnStop() 将不会触发

它将

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

如果有人选择通过服务 MMC 管理单元(直接执行到你的服务或标记为依赖项的服务(执行 Stop 操作,或者有人在命令行发出 sc stop 命令(同样,针对你的服务或依赖项(,则会发生这种情况。

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

当计算机突然重启,断电,关机或任何其他情况时会触发吗?

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

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