WorkflowRuntimeService.Start 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.
protected public:
virtual void Start();
protected internal virtual void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Protected Friend Overridable Sub Start ()
Ausnahmen
Runtime ist ein NULL-Verweis (Nothing
in Visual Basic).
- oder -
Der Dienst wurde bereits gestartet.
Beispiele
Im folgenden Beispiel wird das Aufrufen der Start-Methode für ein Objekt veranschaulicht, das von WorkflowRuntimeService abgeleitet wurde (TerminationTrackingService). Dieses Beispiel stammt aus dem Termination Tracking Service SDK-Beispiel. Weitere Informationen finden Sie unter Beispiel für den Beendigungsnachverfolgungsdienst.
protected override void Start()
{
base.Start();
//
// This will throw if we are invalid to inform the host immediately
ValidateEventLogSource(source);
}
Protected Overrides Sub Start()
MyBase.Start()
'
' This will throw if we are invalid to inform the host immediately
ValidateEventLogSource(source)
End Sub
Hinweise
Start wird von der Workflowruntime-Engine zu allen seiner Dienste aufgerufen, die von der WorkflowRuntimeService-Klasse abgeleitet werden, wenn StartRuntime aufgerufen wird.
Start wird ebenfalls von der Workflowruntime-Engine aufgerufen, wenn der Workflowruntime-Engine ein Dienst hinzugefügt wird. Dazu wird AddService aufgerufen, nachdem die Workflowruntime-Engine bereits gestartet wurde. Bei der Standardimplementierung von Start wird erfasst, ob der Dienst bereits gestartet wurde. Anhand dieser Information wird dann die entsprechende Ausnahme ausgelöst, falls der Dienst gestartet wird, während er bereits ausgeführt wird.
Sie können zusätzliche Funktionalität bereitstellen, die zum Starten des Dienstes mit der Workflowruntime-Engine benötigt wird, indem Sie diese Methode überschreiben. Es ist nicht sicher, welche und ob überhaupt Dienste ausgeführt werden, wenn die Workflowruntime-Engine Start für Ihren Dienst aufruft. Führen Sie deshalb in der Start-Methode nur Initialisierungen aus, die nicht von Funktionalität abhängen, die von anderen Diensten bereitgestellt wird. Dazu gehört von den Hauptdiensten, beispielsweise dem Taskplanerdienst, bereitgestellte Funktionalität. Die Workflowruntime-Engine löst das WorkflowRuntime.Started-Ereignis aus, nachdem sie die Start-Methode aller seiner Dienste aufgerufen hat. Wenn Ihr Dienst eine weitere Initialisierung erfordert, nachdem alle Dienste der Workflowruntime-Engine gestartet wurden, können Sie die OnStarted-Methode überschreiben. Dabei können Sie diese Initialisierung auszuführen, wenn das Start-Ereignis ausgelöst wird.
Hinweis
Wenn Ihr Dienst durch einen Aufruf von AddService der Workflowruntime-Engine hinzugefügt wird, nachdem die Workflowruntime-Engine bereits gestartet wurde, ruft die Workflowruntime-Engine Start für Ihren Dienst auf. In diesem Fall ist das Started-Ereignis jedoch bereits eingetreten. Deshalb muss Ihr Dienst möglicherweise Initialisierungen, die er normalerweise in OnStarted ausführen würde, innerhalb der Start-Methode ausführen. Sie können IsStarted testen, um zu bestimmen, ob die Workflowruntime-Engine gestartet wurde.
Start sollte nur von der Workflowruntime-Engine aufgerufen werden.