2013-04-27 75 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時,暫停和繼續控件被禁用。