Metodo WorkflowApplication.Cancel (TimeSpan)

.NET Framework (current version)
 

Annulla l'istanza del flusso di lavoro utilizzando l'intervallo di timeout specificato.

Spazio dei nomi:   System.Activities
Assembly:  System.Activities (in System.Activities.dll)

public void Cancel(
	TimeSpan timeout
)

Parametri

timeout
Type: System.TimeSpan

Intervallo nel quale deve essere completata l'operazione di annullamento prima che sia annullata e venga generato un oggetto TimeoutException.

This method schedules the cancellation of the workflow instance. To be notified when the cancellation has completed, use the P:System.Activities.WorkflowApplication.OnCompleted handler.

The following example hosts a workflow using T:System.Activities.WorkflowApplication. A T:System.Activities.WorkflowApplication instance is constructed using the specified workflow definition, the desired workflow lifecycle events are handled, and the workflow is invoked with a call to M:System.Activities.WorkflowApplication.Run. After the workflow is started, M:System.Activities.WorkflowApplication.Cancel is called. When the workflow is cancelled, the following output is displayed to the console.

Starting the workflow. Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac Idle. Workflow bcce00c2-d323-42c2-8c25-19ff0c4b6dac CanceledWorkflow 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();

.NET Framework
Disponibile da 4.0
Torna all'inizio
Mostra: