WorkflowApplication.Abort Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt de werkstroomruntime aangegeven dat dit werkstroomexemplaren moeten worden afgebroken.
Overloads
| Name | Description |
|---|---|
| Abort() |
Hiermee wordt de werkstroomruntime aangegeven dat dit werkstroomexemplaren moeten worden afgebroken. |
| Abort(String) |
Hiermee wordt de werkstroomruntime aangegeven dat dit werkstroomexemplaren om de opgegeven reden moeten afbreken. |
Opmerkingen
Wanneer een werkstroom die wordt gehost door een WorkflowApplication werkstroom wordt afgebroken, wordt de Aborted handler aangeroepen en wordt de Completed handler niet aangeroepen.
Abort()
Hiermee wordt de werkstroomruntime aangegeven dat dit werkstroomexemplaren moeten worden afgebroken.
public:
void Abort();
public void Abort();
override this.Abort : unit -> unit
Public Sub Abort ()
Voorbeelden
In het volgende voorbeeld wordt een werkstroom gehost met behulp van WorkflowApplication. Een WorkflowApplication exemplaar wordt samengesteld met behulp van de opgegeven werkstroomdefinitie, de gewenste levenscyclusgebeurtenissen van de werkstroom worden verwerkt en de werkstroom wordt aangeroepen met een aanroep naar Run. Nadat de werkstroom is gestart, Abort wordt deze aangeroepen. Wanneer de werkstroom is afgebroken, wordt de volgende uitvoer weergegeven in de console.
Starting the workflow.
Workflow 3b76d562-516a-4a52-b17c-0f2ce531ad93 Idle.
Workflow 3b76d562-516a-4a52-b17c-0f2ce531ad93 Aborted
Exception: System.Activities.WorkflowApplicationAbortedException
The workflow has been aborted.
Activity wf = new Sequence
{
Activities =
{
new WriteLine
{
Text = "Starting the workflow."
},
new Delay
{
Duration = TimeSpan.FromSeconds(5)
},
new WriteLine
{
Text = "Ending the workflow."
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
// Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
}
};
wfApp.Aborted = delegate(WorkflowApplicationAbortedEventArgs e)
{
// Display the exception that caused the workflow
// to abort.
Console.WriteLine("Workflow {0} Aborted.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.Reason.GetType().FullName,
e.Reason.Message);
};
wfApp.Idle = delegate(WorkflowApplicationIdleEventArgs e)
{
// Perform any processing that should occur
// when a workflow goes idle. If the workflow can persist,
// both Idle and PersistableIdle are called in that order.
Console.WriteLine("Workflow {0} Idle.", e.InstanceId);
};
wfApp.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e)
{
// Instruct the runtime to persist and unload the workflow
return PersistableIdleAction.Unload;
};
wfApp.Unloaded = delegate(WorkflowApplicationEventArgs e)
{
Console.WriteLine("Workflow {0} Unloaded.", e.InstanceId);
};
wfApp.OnUnhandledException = delegate(WorkflowApplicationUnhandledExceptionEventArgs e)
{
// Display the unhandled exception.
Console.WriteLine("OnUnhandledException in Workflow {0}\n{1}",
e.InstanceId, e.UnhandledException.Message);
Console.WriteLine("ExceptionSource: {0} - {1}",
e.ExceptionSource.DisplayName, e.ExceptionSourceInstanceId);
// Instruct the runtime to terminate the workflow.
// Other choices are Abort and Cancel
return UnhandledExceptionAction.Terminate;
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Abort();
Opmerkingen
Wanneer een werkstroom die wordt gehost door een WorkflowApplication werkstroom wordt afgebroken, wordt de Aborted handler aangeroepen en wordt de Completed handler niet aangeroepen.
Van toepassing op
Abort(String)
Hiermee wordt de werkstroomruntime aangegeven dat dit werkstroomexemplaren om de opgegeven reden moeten afbreken.
public:
void Abort(System::String ^ reason);
public void Abort(string reason);
override this.Abort : string -> unit
Public Sub Abort (reason As String)
Parameters
- reason
- String
De reden voor het afbreken van de aanvraag.
Voorbeelden
In het volgende voorbeeld wordt een werkstroom gehost met behulp van WorkflowApplication. Een WorkflowApplication exemplaar wordt samengesteld met behulp van de opgegeven werkstroomdefinitie, de gewenste levenscyclusgebeurtenissen van de werkstroom worden verwerkt en de werkstroom wordt aangeroepen met een aanroep naar Run. Nadat de werkstroom is gestart, Abort wordt deze aangeroepen. Wanneer de werkstroom is afgebroken, wordt de volgende uitvoer weergegeven in de console.
Starting the workflow.
Workflow 607b042e-98db-4bbe-abe8-f4d750feec41 Idle.
Workflow 607b042e-98db-4bbe-abe8-f4d750feec41 Aborted
Exception: System.Activities.WorkflowApplicationAbortedException
The reason for aborting the workflow.
Activity wf = new Sequence
{
Activities =
{
new WriteLine
{
Text = "Starting the workflow."
},
new Delay
{
Duration = TimeSpan.FromSeconds(5)
},
new WriteLine
{
Text = "Ending the workflow."
}
}
};
// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(wf);
// Subscribe to any desired workflow lifecycle events.
wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
if (e.CompletionState == ActivityInstanceState.Faulted)
{
Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.TerminationException.GetType().FullName,
e.TerminationException.Message);
}
else if (e.CompletionState == ActivityInstanceState.Canceled)
{
Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
}
else
{
Console.WriteLine("Workflow {0} Completed.", e.InstanceId);
// Outputs can be retrieved from the Outputs dictionary,
// keyed by argument name.
// Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
}
};
wfApp.Aborted = delegate(WorkflowApplicationAbortedEventArgs e)
{
// Display the exception that caused the workflow
// to abort.
Console.WriteLine("Workflow {0} Aborted.", e.InstanceId);
Console.WriteLine("Exception: {0}\n{1}",
e.Reason.GetType().FullName,
e.Reason.Message);
};
wfApp.Idle = delegate(WorkflowApplicationIdleEventArgs e)
{
// Perform any processing that should occur
// when a workflow goes idle. If the workflow can persist,
// both Idle and PersistableIdle are called in that order.
Console.WriteLine("Workflow {0} Idle.", e.InstanceId);
};
wfApp.PersistableIdle = delegate(WorkflowApplicationIdleEventArgs e)
{
// Instruct the runtime to persist and unload the workflow
return PersistableIdleAction.Unload;
};
wfApp.Unloaded = delegate(WorkflowApplicationEventArgs e)
{
Console.WriteLine("Workflow {0} Unloaded.", e.InstanceId);
};
wfApp.OnUnhandledException = delegate(WorkflowApplicationUnhandledExceptionEventArgs e)
{
// Display the unhandled exception.
Console.WriteLine("OnUnhandledException in Workflow {0}\n{1}",
e.InstanceId, e.UnhandledException.Message);
Console.WriteLine("ExceptionSource: {0} - {1}",
e.ExceptionSource.DisplayName, e.ExceptionSourceInstanceId);
// Instruct the runtime to terminate the workflow.
// Other choices are Abort and Cancel
return UnhandledExceptionAction.Terminate;
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Abort();
Opmerkingen
Wanneer een werkstroom die wordt gehost door een WorkflowApplication werkstroom wordt afgebroken, wordt de Aborted handler aangeroepen en wordt de Completed handler niet aangeroepen.