WorkflowApplication.Cancel 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 het werkstroomexemplaren geannuleerd.
Overloads
| Name | Description |
|---|---|
| Cancel() |
Hiermee wordt het werkstroomexemplaren geannuleerd. |
| Cancel(TimeSpan) |
Hiermee wordt het werkstroomexemplaren geannuleerd met behulp van het opgegeven time-outinterval. |
Opmerkingen
Met deze methode wordt de annulering van het werkstroomexemplaren gepland. Als u een melding wilt ontvangen wanneer de annulering is voltooid, gebruikt u de Completed ingang.
Standaard moet de annuleringsbewerking binnen 30 seconden worden voltooid of wordt er een TimeoutException gegenereerd.
Cancel()
Hiermee wordt het werkstroomexemplaren geannuleerd.
public:
void Cancel();
public void Cancel();
member this.Cancel : unit -> unit
Public Sub Cancel ()
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, Cancel wordt deze aangeroepen. Wanneer de werkstroom wordt geannuleerd, wordt de volgende uitvoer weergegeven in de console.
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();
Opmerkingen
Met deze methode wordt de annulering van het werkstroomexemplaren gepland. Als u een melding wilt ontvangen wanneer de annulering is voltooid, gebruikt u de Completed handler.
Standaard moet de annuleringsbewerking binnen 30 seconden worden voltooid of wordt er een TimeoutException gegenereerd.
Van toepassing op
Cancel(TimeSpan)
Hiermee wordt het werkstroomexemplaren geannuleerd met behulp van het opgegeven time-outinterval.
public:
void Cancel(TimeSpan timeout);
public void Cancel(TimeSpan timeout);
member this.Cancel : TimeSpan -> unit
Public Sub Cancel (timeout As TimeSpan)
Parameters
- timeout
- TimeSpan
Het interval waarin de annuleringsbewerking moet worden voltooid voordat de bewerking wordt geannuleerd en er een TimeoutException wordt gegenereerd.
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, Cancel wordt deze aangeroepen. Wanneer de werkstroom wordt geannuleerd, wordt de volgende uitvoer weergegeven in de console.
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();
Opmerkingen
Met deze methode wordt de annulering van het werkstroomexemplaren gepland. Als u een melding wilt ontvangen wanneer de annulering is voltooid, gebruikt u de Completed handler.