Freigeben über


ServiceBase.OnPause Methode

Definition

Wird bei der Implementierung in einer abgeleiteten Klasse ausgeführt, wenn der Dienststeuerungs-Manager einen Befehl zum Anhalten an den Dienst sendet. Gibt Aktionen an, die beim Anhalten eines Diensts durchgeführt werden müssen.

protected:
 virtual void OnPause();
protected virtual void OnPause ();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()

Hinweise

Geben Sie OnPause die Verarbeitung an, die auftritt, wenn der Dienst einen Pause-Befehl empfängt. OnPause wird erwartet, dass die Eigenschaft überschrieben wird, wenn die CanPauseAndContinue Eigenschaft ist true.

Wenn Sie einen angehaltenen Dienst fortsetzen (entweder über die Dienstkonsole oder programmgesteuert), wird die Verarbeitung ausgeführt, und der OnContinue Dienst wird erneut aktiv.

Der Befehl "Anhalten" ermöglicht es Ihrer Anwendung nur, auf ein bestimmtes Ereignis zu reagieren. OnPause macht nichts für den Dienst, den Sie nicht definieren, um es zu tun.

Das Senden einer Pause-Anforderung an den Dienst kann Systemressourcen sparen, da Pause nicht alle Systemressourcen freigeben muss. Wenn Beispielsweise Threads durch den Prozess geöffnet wurden, kann das Anhalten eines Diensts, anstatt es zu beenden, dass die Threads geöffnet bleiben können, indem sie die Notwendigkeit verhindern, sie neu zu verschieben, wenn der Dienst fortgesetzt wird. Wenn Sie Pause definieren, um alle Systemressourcen zu freigeben, verhält es sich wie ein Stop-Befehl.

trueLegen Sie CanPauseAndContinue fest, und überschreiben OnPause OnContinue Sie die Verarbeitung, die auftreten soll, wenn der SCM eine Pause- oder Fortsetzungsanforderung an Ihren Dienst übergibt. OnContinue sollte implementiert werden, um die Verarbeitung rückgängig OnPausezu machen.

falseIf CanPauseAndContinue is, the SCM will not pass Pause or Continue requests to the service, so dass die OnPause und OnContinue methoden nicht aufgerufen werden, auch wenn sie implementiert werden. In der SCM sind die Pause Steuerelemente Continue deaktiviert, wenn es sich falseum CanPauseAndContinue einen Vorgang handelt.

Gilt für

Siehe auch