ServiceBase.OnPause メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスに実装されると、Pause コマンドがサービス コントロール マネージャー (SCM) によってサービスに送信されるときに実行されます。 サービスが一時中断したときに実行されるアクションを指定します。
protected:
virtual void OnPause();
protected virtual void OnPause ();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()
注釈
サービスが Pause コマンドを受け取ったときに発生する処理を指定するには、 を使用 OnPause します。
OnPause は、 プロパティが の場合に CanPauseAndContinue オーバーライドされることが想定されています true
。
一時停止中のサービスを (サービス コンソールまたはプログラムで) OnContinue 続行すると、処理が実行され、サービスが再度アクティブになります。
Pause コマンドを使用すると、アプリケーションは特定のイベントにのみ対応できます。 OnPause は、ユーザーが定義しないサービスには何も行いません。
一時停止要求をサービスに送信すると、一時停止ですべてのシステム リソースを解放する必要がないため、システム リソースを節約できます。 たとえば、プロセスによってスレッドが開かれている場合、停止するのではなくサービスを一時停止すると、スレッドを開いたままにすることができ、サービスの継続時に再割り当てを行う必要がなくなりました。 [一時停止] を定義してすべてのシステム リソースを解放すると、Stop コマンドのように動作します。
を にtrue
設定CanPauseAndContinueし、 をオーバーライドOnPauseOnContinueして、SCM が Pause または Continue 要求をサービスに渡したときに発生する処理を指定します。
OnContinue の処理 OnPauseを元に戻すには、 を実装する必要があります。
が の場合CanPauseAndContinue、SCM は Pause または Continue 要求をサービスに渡さないのでOnPause、 メソッドと OnContinue メソッドは実装されていても呼び出false
されません。 SCM では、 Pause
と Continue
コントロールは、 が false
の場合CanPauseAndContinueに無効になります。
適用対象
こちらもご覧ください
.NET