WorkflowInstance.Terminate(String) 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.
Beendet die Workflowinstanz auf synchrone Weise.
public:
void Terminate(System::String ^ error);
public void Terminate (string error);
member this.Terminate : string -> unit
Public Sub Terminate (error As String)
Parameter
- error
- String
Eine Beschreibung des Grunds für die Beendigung der Workflowinstanz.
Ausnahmen
Die Workflowruntime-Engine wird nicht ausgeführt.
Beispiele
Das folgende Codebeispiel zeigt den Aufruf zum Beenden eines WorkflowInstance-Objekts.
// Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a workflow instance
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow
workflowInstance.Start();
// Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated");
' Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
' Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow
workflowInstance.Start()
' Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated")
Hinweise
Die Workflowinstanz wird auf synchrone Weise beendet. Der Host ruft Terminate auf, um die Workflowinstanz zu beenden. Die Workflowruntime-Engine löscht die Workflowinstanz im Arbeitsspeicher und informiert den Persistenzdienst darüber, dass die Instanz aus dem Arbeitsspeicher gelöscht wurde. Für den SqlWorkflowPersistenceService bedeutet dies, dass alle Zustandsinformationen für diese Workflowinstanz bei der Beendigung aus der Datenbank gelöscht werden. Sie können die Workflowinstanz dann nicht mehr von einem vorher gespeicherten Persistenzpunkt neu laden.
Nachdem die Workflowinstanz im Arbeitsspeicher gelöscht und der Persistenzdienst über die Beendigung informiert wurde, löst die Terminate
-Methode das WorkflowTerminated-Ereignis aus und übergibt reason
in der Message-Eigenschaft einer WorkflowTerminatedException, die in WorkflowTerminatedEventArgs enthalten ist.
Terminate
unterscheidet sich von Abort wie folgt: 'Terminate' löscht die Workflowinstanz im Arbeitsspeicher und informiert den Persistenzdienst über die Beendigung, während Abort
einfach die Workflowinstanz im Arbeitsspeicher löscht, die Sie dann am letzten Persistenzpunkt neu starten können.