ServiceBase.OnPause 方法

定義

在衍生類別中實作時,當服務控制管理員 (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當 屬性為 trueCanPauseAndContinue ,預期會覆寫 。

當您透過 Services 主控台或以程式設計方式) 繼續暫停的服務 (時, OnContinue 就會執行處理,而服務會再次變成作用中。

Pause 命令只允許您的應用程式回應特定事件。 OnPause 不會對未定義它的服務執行任何動作。

將 Pause 要求傳送至服務可以節省系統資源,因為 Pause 不需要釋放所有系統資源。 例如,如果進程已開啟執行緒,暫停服務而不是停止,可讓執行緒保持開啟狀態,而不需要在服務繼續時重新配置執行緒。 如果您定義 Pause 以釋放所有系統資源,其行為就像 Stop 命令一樣。

設定 CanPauseAndContinuetrue ,並覆寫 OnPauseOnContinue ,以指定 SCM 將 Pause 或 Continue 要求傳遞至服務時應該發生的處理。 OnContinue 應該實作 以復原 中的 OnPause 處理。

如果 CanPauseAndContinuefalse ,則 SCM 不會將 Pause 或 Continue 要求傳遞至服務,因此 OnPause 即使實作,也不會呼叫 和 OnContinue 方法。 在 SCM 中,當 為 falseCanPauseAndContinuePause 會停用 和 Continue 控制項。

適用於

另請參閱