ServiceBase.OnPause 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中實作時,當服務控制管理員 (SCM) 傳送暫停命令至服務時執行。 指定在服務暫停時所要執行的動作。
protected:
virtual void OnPause();
protected virtual void OnPause ();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()
備註
使用 OnPause 來指定服務收到 Pause 命令時所發生的處理。 OnPause當 屬性為 true
時 CanPauseAndContinue ,預期會覆寫 。
當您透過 Services 主控台或以程式設計方式) 繼續暫停的服務 (時, OnContinue 就會執行處理,而服務會再次變成作用中。
Pause 命令只允許您的應用程式回應特定事件。 OnPause 不會對未定義它的服務執行任何動作。
將 Pause 要求傳送至服務可以節省系統資源,因為 Pause 不需要釋放所有系統資源。 例如,如果進程已開啟執行緒,暫停服務而不是停止,可讓執行緒保持開啟狀態,而不需要在服務繼續時重新配置執行緒。 如果您定義 Pause 以釋放所有系統資源,其行為就像 Stop 命令一樣。
設定 CanPauseAndContinue 為 true
,並覆寫 OnPause 和 OnContinue ,以指定 SCM 將 Pause 或 Continue 要求傳遞至服務時應該發生的處理。 OnContinue 應該實作 以復原 中的 OnPause 處理。
如果 CanPauseAndContinue 為 false
,則 SCM 不會將 Pause 或 Continue 要求傳遞至服務,因此 OnPause 即使實作,也不會呼叫 和 OnContinue 方法。 在 SCM 中,當 為 false
時 CanPauseAndContinue , Pause
會停用 和 Continue
控制項。