WorkflowApplication.Cancel Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Avbryter arbetsflödesinstansen.
Överlagringar
| Name | Description |
|---|---|
| Cancel() |
Avbryter arbetsflödesinstansen. |
| Cancel(TimeSpan) |
Avbryter arbetsflödesinstansen med det angivna tidsgränsintervallet. |
Kommentarer
Den här metoden schemalägger annulleringen av arbetsflödesinstansen. Använd handtaget för att meddelas när annulleringen har slutförts Completed .
Som standard måste avbryt-åtgärden slutföras om 30 sekunder eller så utlöses en TimeoutException .
Cancel()
Avbryter arbetsflödesinstansen.
public:
void Cancel();
public void Cancel();
member this.Cancel : unit -> unit
Public Sub Cancel ()
Exempel
I följande exempel finns ett arbetsflöde med .WorkflowApplication En WorkflowApplication instans skapas med den angivna arbetsflödesdefinitionen, önskade livscykelhändelser för arbetsflödet hanteras och arbetsflödet anropas med ett anrop till Run. När arbetsflödet har startats Cancel anropas. När arbetsflödet avbryts visas följande utdata för konsolen.
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();
Kommentarer
Den här metoden schemalägger annulleringen av arbetsflödesinstansen. Om du vill få ett meddelande när annulleringen har slutförts använder du Completed hanteraren.
Som standard måste avbryt-åtgärden slutföras om 30 sekunder eller så utlöses en TimeoutException .
Gäller för
Cancel(TimeSpan)
Avbryter arbetsflödesinstansen med det angivna tidsgränsintervallet.
public:
void Cancel(TimeSpan timeout);
public void Cancel(TimeSpan timeout);
member this.Cancel : TimeSpan -> unit
Public Sub Cancel (timeout As TimeSpan)
Parametrar
- timeout
- TimeSpan
Det intervall i vilket avbryta-åtgärden måste slutföras innan åtgärden avbryts och en TimeoutException utlöses.
Exempel
I följande exempel finns ett arbetsflöde med .WorkflowApplication En WorkflowApplication instans skapas med den angivna arbetsflödesdefinitionen, önskade livscykelhändelser för arbetsflödet hanteras och arbetsflödet anropas med ett anrop till Run. När arbetsflödet har startats Cancel anropas. När arbetsflödet avbryts visas följande utdata för konsolen.
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();
Kommentarer
Den här metoden schemalägger annulleringen av arbetsflödesinstansen. Om du vill få ett meddelande när annulleringen har slutförts använder du Completed hanteraren.