ServiceBase.OnPause ServiceBase.OnPause ServiceBase.OnPause ServiceBase.OnPause Method

Definition

Wird bei der Implementierung in einer abgeleiteten Klasse ausgeführt, wenn der Dienststeuerungs-Manager einen Befehl zum Anhalten an den Dienst sendet.When implemented in a derived class, executes when a Pause command is sent to the service by the Service Control Manager (SCM). Gibt Aktionen an, die beim Anhalten eines Diensts durchgeführt werden müssen.Specifies actions to take when a service pauses.

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

Hinweise

Verwenden OnPause Sie, um die Verarbeitung anzugeben, die auftritt, wenn der Dienst einen pausenbefehl empfängt.Use OnPause to specify the processing that occurs when the service receives a Pause command. OnPauseEs wird erwartet, dass Sie überschrieben CanPauseAndContinue werden, truewenn die-Eigenschaft ist.OnPause is expected to be overridden when the CanPauseAndContinue property is true.

Wenn Sie einen angehaltenen Dienst (entweder über die Dienstekonsole oder Programm gesteuert) fortsetzen OnContinue , wird die Verarbeitung ausgeführt, und der Dienst wird erneut aktiviert.When you continue a paused service (either through the Services console or programmatically), the OnContinue processing is run, and the service becomes active again.

Der Pause-Befehl ermöglicht es Ihrer Anwendung nur, auf ein bestimmtes Ereignis zu reagieren.The Pause command only allows your application to react to a specific event. OnPauseführt keine Aktion für den Dienst aus, den Sie nicht definieren.OnPause does nothing to the service that you do not define it to do.

Wenn eine Pause-Anforderung an den Dienst gesendet wird, können Systemressourcen eingespart werden, da die Pause nicht alle Systemressourcen freigeben muss.Sending a Pause request to the service can conserve system resources because Pause need not release all system resources. Wenn z. b. Threads durch den Prozess geöffnet wurden, kann ein Dienst angehalten werden, anstatt ihn anzuhalten, sodass die Threads offen bleiben können, sodass Sie nicht neu zugeordnet werden müssen, wenn der Dienst fortgesetzt wird.For example, if threads have been opened by the process, pausing a service rather than stopping it can allow the threads to remain open, obviating the need to reallocate them when the service continues. Wenn Sie anhalten definieren, um alle Systemressourcen freizugeben, verhält es sich wie ein Befehl zum stoppen.If you define Pause to release all system resources, it behaves like a Stop command.

Legen CanPauseAndContinue Sie trueauf fest, OnPause und OnContinue überschreiben Sie und, um die Verarbeitung anzugeben, die auftreten soll, wenn der SCM eine Pause-oder Continue-Anforderung an den Dienst übergibt.Set CanPauseAndContinue to true, and override OnPause and OnContinue to specify the processing that should occur when the SCM passes a Pause or Continue request to your service. OnContinuemuss implementiert werden, um die Verarbeitung in OnPauserückgängig zu machen.OnContinue should be implemented to undo the processing in OnPause.

Wenn CanPauseAndContinue den Wert hat, übergibt der SCM keine Pause-oder continue-Anforderungen an den Dienst OnPause , OnContinue sodass die-Methode und die-Methode nicht aufgerufen werden, auch wenn diese implementiert ist false.If CanPauseAndContinue is false, the SCM will not pass Pause or Continue requests to the service, so the OnPause and OnContinue methods will not be called even if implemented. Im SCM werden die Steuer Pause Continue ElementeundCanPauseAndContinue deaktiviert, wenn den Wert hat. falseIn the SCM, the Pause and Continue controls are disabled when CanPauseAndContinue is false.

Gilt für:

Siehe auch