WorkflowApplication.Cancel Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zruší instanci pracovního postupu.
Přetížení
| Name | Description |
|---|---|
| Cancel() |
Zruší instanci pracovního postupu. |
| Cancel(TimeSpan) |
Zruší instanci pracovního postupu pomocí zadaného intervalu časového limitu. |
Poznámky
Tato metoda naplánuje zrušení instance pracovního postupu. Pokud chcete být upozorněni na dokončení zrušení, použijte popisovač Completed .
Ve výchozím nastavení se operace zrušení musí dokončit za 30 sekund nebo TimeoutException je vyvolán.
Cancel()
Zruší instanci pracovního postupu.
public:
void Cancel();
public void Cancel();
member this.Cancel : unit -> unit
Public Sub Cancel ()
Příklady
Následující příklad hostuje pracovní postup pomocí WorkflowApplication. Instance WorkflowApplication je vytvořena pomocí zadané definice pracovního postupu, požadované události životního cyklu pracovního postupu jsou zpracovávány a pracovní postup je vyvolán voláním Run. Po spuštění Cancel pracovního postupu se zavolá. Po zrušení pracovního postupu se v konzole zobrazí následující výstup.
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();
Poznámky
Tato metoda naplánuje zrušení instance pracovního postupu. Chcete-li být upozorněni po dokončení zrušení, použijte obslužnou rutinu Completed .
Ve výchozím nastavení se operace zrušení musí dokončit za 30 sekund nebo TimeoutException je vyvolán.
Platí pro
Cancel(TimeSpan)
Zruší instanci pracovního postupu pomocí zadaného intervalu časového limitu.
public:
void Cancel(TimeSpan timeout);
public void Cancel(TimeSpan timeout);
member this.Cancel : TimeSpan -> unit
Public Sub Cancel (timeout As TimeSpan)
Parametry
- timeout
- TimeSpan
Interval, ve kterém se operace zrušení musí dokončit před zrušením operace a TimeoutException vyvolá se.
Příklady
Následující příklad hostuje pracovní postup pomocí WorkflowApplication. Instance WorkflowApplication je vytvořena pomocí zadané definice pracovního postupu, požadované události životního cyklu pracovního postupu jsou zpracovávány a pracovní postup je vyvolán voláním Run. Po spuštění Cancel pracovního postupu se zavolá. Po zrušení pracovního postupu se v konzole zobrazí následující výstup.
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();
Poznámky
Tato metoda naplánuje zrušení instance pracovního postupu. Chcete-li být upozorněni po dokončení zrušení, použijte obslužnou rutinu Completed .