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