次の方法で共有


ServiceBase.OnPause メソッド

派生クラスに実装されると、Pause コマンドがサービス コントロール マネージャ (SCM) によってサービスに送信されるときに実行されます。サービスが一時中断したときに実行されるアクションを指定します。

Protected Overridable Sub OnPause()
[C#]
protected virtual void OnPause();
[C++]
protected: virtual void OnPause();
[JScript]
protected function OnPause();

解説

OnPause を使用して、サービスが Pause コマンドを受け取ったときに発生する処理を指定します。 CanPauseAndContinue プロパティが true の場合、 OnPause はオーバーライドされます。

サービス アドインを使用して、またはプログラムによって、一時中断されたサービスを継続する場合は、 OnContinue 処理が実行され、サービスは再度アクティブになります。

Pause コマンドは、アプリケーションが特定のイベントに対して反応できるようにするだけです。 OnPause は、実行するように定義していないサービスに対しては何も実行しません。

Pause はすべてのシステム リソースを解放する必要がないため、Pause 要求をサービスに送信しても、システム リソースは保持されます。たとえば、このプロセスでスレッドが開かれた場合は、サービスを停止するのではなく一時中断すると、スレッドを開いたままの状態に保つことができ、サービスを継続するときに再割り当ての必要がなくなります。すべてのシステム リソースを解放するように Pause を定義すると、Pause は Stop コマンドと同じように動作します。

CanPauseAndContinuetrue に設定し、 OnPause および OnContinue をオーバーライドして、SCM が Pause 要求または Continue 要求をサービスに渡すときに発生する処理を指定します。 OnPause の処理を元に戻すには、 OnContinue を実装する必要があります。

CanPauseAndContinuefalse の場合、SCM は Pause 要求または Continue 要求をサービスに渡さないため、 OnPause メソッドと OnContinue メソッドは、実装されている場合でも呼び出されません。SCM では、 CanPauseAndContinuefalse に設定されていると、 Pause コントロールと Continue コントロールが無効になります。

必要条件

プラットフォーム: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

ServiceBase クラス | ServiceBase メンバ | System.ServiceProcess 名前空間 | CanPauseAndContinue | OnContinue | OnPowerEvent | OnShutdown | OnStart | OnStop | OnCustomCommand