WorkflowRuntimeService.Start Methode

Definition

Startet beim Überschreiben in einer abgeleiteten Klasse den Dienst und ändert State in Starting.When overridden in a derived class, starts the service and changes the State to Starting.

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).Runtime is a null reference (Nothing in Visual Basic) - oder --or- Der Dienst wurde bereits gestartet.The service has already been started.

Beispiele

Im folgenden Beispiel wird das Aufrufen der Start-Methode für ein Objekt veranschaulicht, das von WorkflowRuntimeService abgeleitet wurde (TerminationTrackingService).The following example demonstrates calling the Start method on an object derived from WorkflowRuntimeService, TerminationTrackingService. Dieses Beispiel stammt aus dem Termination Tracking Service SDK-Beispiel.This example is from the Termination Tracking Service SDK sample. Weitere Informationen finden Sie unter Beispiel für den Abbruch Verfolgungs Dienst.For more information, see Termination Tracking Service Sample.

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 is invoked by the workflow runtime engine on all of its services that derive from the WorkflowRuntimeService class when StartRuntime is called.

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.Start is also invoked by the workflow runtime engine when a workflow runtime engine service is added to the workflow runtime engine by a call to AddService after the workflow runtime engine has already started. 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.The default implementation of Start tracks whether the service has been started and uses this information to throw the appropriate exception if the service is started while it is already running.

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.You can provide additional functionality necessary to have your service started by the workflow runtime engine by overriding this method. Es ist nicht sicher, welche und ob überhaupt Dienste ausgeführt werden, wenn die Workflowruntime-Engine Start für Ihren Dienst aufruft.There is no guarantee about which, if any, services will be running when the workflow runtime engine calls Start on your service. Führen Sie deshalb in der Start-Methode nur Initialisierungen aus, die nicht von Funktionalität abhängen, die von anderen Diensten bereitgestellt wird.Therefore, in the Start method, you should only perform any initialization that does not depend on functionality provided by other services. Dazu gehört von den Hauptdiensten, beispielsweise dem Taskplanerdienst, bereitgestellte Funktionalität.This includes functionality provided by core services such as the scheduler service. Die Workflowruntime-Engine löst das WorkflowRuntime.Started-Ereignis aus, nachdem sie die Start-Methode aller seiner Dienste aufgerufen hat.The workflow runtime engine raises the WorkflowRuntime.Started event after it has called the Start method of all of its workflow runtime engine services. 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.If your service requires additional initialization after all of the workflow runtime engine services have been started, you can override the OnStarted method in order to perform this initialization when the Start event is raised.

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.If your service is added to the workflow runtime engine by a call to AddService after the workflow runtime engine has already been started, the workflow runtime engine will call Start on your service. 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.However, in this situation, the Started event has already occurred, therefore, your service may have to perform any initialization that it would ordinarily perform in OnStarted from inside the Start method. Sie können IsStarted testen, um zu bestimmen, ob die Workflowruntime-Engine gestartet wurde.You can test IsStarted to determine whether the workflow runtime engine has been started.

Start sollte nur von der Workflowruntime-Engine aufgerufen werden.Start should only be called by the workflow runtime engine.

Gilt für: