ServiceBase.OnPause Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ausgeführt, wenn ein Pause-Befehl vom Dienststeuerungs-Manager (Service Control Manager, SCM) an den Dienst gesendet wird. Gibt Aktionen an, die ausgeführt werden sollen, wenn ein Dienst angehalten wird.
protected:
virtual void OnPause();
protected virtual void OnPause();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()
Hinweise
Wird OnPause verwendet, um die Verarbeitung anzugeben, die auftritt, wenn der Dienst einen Pause-Befehl empfängt.
OnPause wird erwartet, dass beim Festlegen der CanPauseAndContinue Eigenschaft außer Kraft gesetzt wird true.
Wenn Sie einen angehaltenen Dienst fortsetzen (entweder über die Dienstkonsole oder programmgesteuert), wird die OnContinue Verarbeitung ausgeführt, und der Dienst wird wieder aktiv.
Mit dem Befehl "Anhalten" kann Ihre Anwendung nur auf ein bestimmtes Ereignis reagieren. OnPause führt nichts für den Dienst aus, den Sie nicht definieren.
Das Senden einer Pause-Anforderung an den Dienst kann Systemressourcen sparen, da Pause nicht alle Systemressourcen freigeben muss. Wenn Beispielsweise Threads vom Prozess geöffnet wurden, kann das Anhalten eines Diensts, anstatt es zu beenden, zulassen, dass die Threads geöffnet bleiben und die Notwendigkeit, sie neu zuzuordnen, wenn der Dienst fortgesetzt wird. Wenn Sie "Pause" definieren, um alle Systemressourcen freizugeben, verhält es sich wie ein Stoppbefehl.
Legen Sie diese CanPauseAndContinue Einstellung fest true, und setzen Sie sie außer Kraft OnPause , und OnContinue geben Sie die Verarbeitung an, die auftreten soll, wenn der SCM eine Pause- oder Continue-Anforderung an Ihren Dienst übergibt.
OnContinuesollte implementiert werden, um die Verarbeitung rückgängig zu machen.OnPause
Wenn CanPauseAndContinue ja false, übergibt der SCM keine Pause- oder Continue-Anforderungen an den Dienst, sodass die OnPause Methoden und OnContinue Methoden auch dann nicht aufgerufen werden, wenn sie implementiert sind. Im SCM werden die Pause Steuerelemente deaktiviert Continue , wenn CanPauseAndContinue dies der Zeitpunkt ist false.