2013-04-27 42 views
3

我写了一个由c#4的Windows服务,并重写它的一些方法,如OnStart()和OnStop()和OnPause()和OnContinue()和OnShutdown()。如何暂停和继续Windows服务通过C#

我可以启动或停止此Windows服务,但无法通过编程或在services.msc中暂停或继续。换句话说,启动和停止是启用和暂停,恢复选项是禁用的。

enter image description here

什么是问题?

回答

11

您需要将CanPauseAndContinue属性也设置为true。这记录在OnContinue中:

当CanPauseAndContinue属性为true时,OnContinue预计会被覆盖。

如果CanPauseAndContinue为false,则SCM不会将暂停或继续请求传递给该服务,因此OnPause和OnContinue方法即使被实现也不会被调用。在SCM中,当CanPauseAndContinue为false时,暂停和继续控件被禁用。