我用 c# 4 编写了一个 Windows 服务,并为它重写了一些方法,如 OnStart() 和 OnStop() 和 OnPause() 以及 OnContinue() 和 OnShutdown()。
我可以启动或停止此 Windows 服务,但无论是通过编程还是在 services.msc 中,我都无法暂停或继续它。换句话说,启动和停止是启用的,暂停和恢复选项是禁用的。
什么是问题?
我用 c# 4 编写了一个 Windows 服务,并为它重写了一些方法,如 OnStart() 和 OnStop() 和 OnPause() 以及 OnContinue() 和 OnShutdown()。
我可以启动或停止此 Windows 服务,但无论是通过编程还是在 services.msc 中,我都无法暂停或继续它。换句话说,启动和停止是启用的,暂停和恢复选项是禁用的。
什么是问题?
您还需要将该CanPauseAndContinue
属性设置为 true。这记录在OnContinue
:
当 CanPauseAndContinue 属性为 true 时,预计将覆盖 OnContinue。
如果 CanPauseAndContinue 为 false,则 SCM 不会将 Pause 或 Continue 请求传递给服务,因此即使实现了 OnPause 和 OnContinue 方法也不会被调用。在 SCM 中,当 CanPauseAndContinue 为 false 时,Pause 和 Continue 控件被禁用。