WorkflowInstance.Abort Methode

Definition

Bricht die Workflowinstanz ab.

public:
 void Abort();
public void Abort ();
member this.Abort : unit -> unit
Public Sub Abort ()

Ausnahmen

Die Workflowruntime-Engine wird nicht ausgeführt.

Beispiele

Das folgende Beispiel zeigt den Aufruf zum Abbrechen einer Workflowinstanz vom Typ 'Workflow1'.

//Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
//Create a workflow instance
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
//Start the instance
instance.Start();
//Abort the instance
instance.Abort();
'Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
'Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
'Start the instance
workflowInstance.Start()
'Abort the instance
workflowInstance.Abort()

Hinweise

Die Workflowinstanz wird auf synchrone Weise abgebrochen. Die Rückgabe der Methode erfolgt also, nachdem die Workflowinstanz abgebrochen wurde. Die Workflowruntime-Engine macht die Workflowinstanz im Arbeitsspeicher ungültig und löscht den WorkBatch. Wenn die Workflowinstanz einen Persistenzdienst verwendet hat, werden die Arbeitsschritte verworfen, die seit dem letzten Persistenzpunkt ausgeführt wurden. Nachdem es die Workflowinstanz abgebrochen hat, löst die Workflowruntime-Engine das WorkflowAborted-Ereignis aus. Sie können GetWorkflow aufrufen, um die Workflowinstanz neu zu laden und am letzten Persistenzpunkt zu beginnen.

Abort unterscheidet sich von Terminate wie folgt: Abort löscht einfach die Workflowinstanz im Arbeitsspeicher, und Sie können am letzten Persistenzpunkt neu beginnen, während 'Terminate' die Workflowinstanz im Arbeitsspeicher löscht und den Persistenzdienst informiert, 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.

Gilt für: