Freigeben über


WorkflowRuntimeService.Stop Methode

Definition

Beendet beim Überschreiben in einer abgeleiteten Klasse den Dienst und ändert State in Stopping.

protected public:
 virtual void Stop();
protected internal virtual void Stop ();
abstract member Stop : unit -> unit
override this.Stop : unit -> unit
Protected Friend Overridable Sub Stop ()

Ausnahmen

Runtime ist ein NULL-Verweis (Nothing in Visual Basic).

- oder -

Der Dienst wurde noch nicht gestartet.

Hinweise

Stop wird von der Workflowruntime-Engine zu allen seiner Dienste aufgerufen, die von der WorkflowRuntimeService-Klasse abgeleitet werden, wenn StopRuntime aufgerufen wird. Stop wird ebenfalls von der Workflowruntime-Engine aufgerufen, wenn einer seiner Dienste durch einen Aufruf von RemoveService entfernt wird. Bei der Standardimplementierung von Stop wird erfasst, ob der Dienst bereits gestartet wurde. Anhand dieser Information wird dann die entsprechende Ausnahme ausgelöst, falls der Dienst beendet wird, bevor er gestartet wurde.

Sie können zusätzliche Funktionalität bereitstellen, die zum Beenden des Dienstes mit der Workflowruntime-Engine benötigt wird, indem Sie diese Methode überschreiben. Es ist nicht sicher, welche und ob überhaupt Dienste beendet oder ausgeführt werden, wenn Stop für Ihren Dienst aufgerufen wird. Die Workflowruntime-Engine löst das WorkflowRuntime.Stopped-Ereignis aus, nachdem sie die Stop-Methode aller seiner Dienste aufgerufen hat. Ihr Dienst muss möglicherweise zur Unterstützung anderer Dienste einige Funktionen beibehalten, bis die Workflowruntime-Engine die jeweiligen Stop-Methoden für alle seine Dienste aufgerufen hat. Wenn Ihr Dienst solche Funktionen beibehalten muss, können Sie die OnStopped-Methode überschreiben. Dabei können Sie weitere Aktionen ausführen, die das Beenden Ihres Dienstes abschließen, wenn das WorkflowRuntime.Stopped-Ereignis ausgelöst wird.

Hinweis

Wenn Ihr WorkflowRuntimeService durch einen Aufruf von RemoveService aus der Workflowruntime-Engine entfernt wird, während die Workflowruntime-Engine ausgeführt wird, ruft die Workflowruntime-Engine Stop für Ihren Dienst auf. In diesem Fall wird jedoch die OnStopped-Methode nicht für Ihren Dienst aufgerufen. Deshalb muss Ihr Dienst eventuelle zusätzliche Beendigungsfunktionen, die er normalerweise in OnStopped ausführen würde, innerhalb der Stop-Methode ausführen. Sie können IsStarted testen, um zu bestimmen, ob die Workflowruntime-Engine ausgeführt wird.

Stop sollte nur von der Workflowruntime-Engine aufgerufen werden.

Gilt für: