WorkflowApplication.Cancel 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.
Bricht die Workflowinstanz ab.
Überlädt
| Name | Beschreibung |
|---|---|
| Cancel() |
Bricht die Workflowinstanz ab. |
| Cancel(TimeSpan) |
Bricht die Workflowinstanz mithilfe des angegebenen Timeoutintervalls ab. |
Hinweise
Diese Methode plant den Abbruch der Workflowinstanz. Um benachrichtigt zu werden, wenn die Kündigung abgeschlossen ist, verwenden Sie das Completed Handle.
Standardmäßig muss der Abbruchvorgang in 30 Sekunden abgeschlossen werden, oder ein TimeoutException Vorgang wird ausgelöst.
Cancel()
Bricht die Workflowinstanz ab.
public:
void Cancel();
public void Cancel();
member this.Cancel : unit -> unit
Public Sub Cancel ()
Beispiele
Im folgenden Beispiel wird ein Workflow mit WorkflowApplication gehostet. Eine WorkflowApplication Instanz wird mithilfe der angegebenen Workflowdefinition erstellt, die gewünschten Workflowlebenszyklusereignisse werden behandelt, und der Workflow wird mit einem Aufruf Runaufgerufen. Nachdem der Workflow gestartet wurde, Cancel wird er aufgerufen. Wenn der Workflow abgebrochen wird, wird die folgende Ausgabe in der Konsole angezeigt.
Starting the workflow.
Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Idle.
Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Canceled
Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Unloaded.
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);
}
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Cancel();
Hinweise
Diese Methode plant den Abbruch der Workflowinstanz. Um benachrichtigt zu werden, wenn der Abbruch abgeschlossen ist, verwenden Sie den Completed Handler.
Standardmäßig muss der Abbruchvorgang in 30 Sekunden abgeschlossen werden, oder ein TimeoutException Vorgang wird ausgelöst.
Gilt für:
Cancel(TimeSpan)
Bricht die Workflowinstanz mithilfe des angegebenen Timeoutintervalls ab.
public:
void Cancel(TimeSpan timeout);
public void Cancel(TimeSpan timeout);
member this.Cancel : TimeSpan -> unit
Public Sub Cancel (timeout As TimeSpan)
Parameter
- timeout
- TimeSpan
Das Intervall, in dem der Abbruchvorgang abgeschlossen werden muss, bevor der Vorgang abgebrochen wird und ein TimeoutException Vorgang ausgelöst wird.
Beispiele
Im folgenden Beispiel wird ein Workflow mit WorkflowApplication gehostet. Eine WorkflowApplication Instanz wird mithilfe der angegebenen Workflowdefinition erstellt, die gewünschten Workflowlebenszyklusereignisse werden behandelt, und der Workflow wird mit einem Aufruf Runaufgerufen. Nachdem der Workflow gestartet wurde, Cancel wird er aufgerufen. Wenn der Workflow abgebrochen wird, wird die folgende Ausgabe in der Konsole angezeigt.
Starting the workflow.
Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Idle.
Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Canceled
Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Unloaded.
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);
}
};
// Run the workflow.
wfApp.Run();
Thread.Sleep(TimeSpan.FromSeconds(1));
wfApp.Cancel();
Hinweise
Diese Methode plant den Abbruch der Workflowinstanz. Um benachrichtigt zu werden, wenn der Abbruch abgeschlossen ist, verwenden Sie den Completed Handler.