WorkflowApplication.Cancel Méthode

Définition

Annule l’instance de workflow.

Surcharges

Nom Description
Cancel()

Annule l’instance de workflow.

Cancel(TimeSpan)

Annule l’instance de workflow à l’aide de l’intervalle de délai d’attente spécifié.

Remarques

Cette méthode planifie l’annulation de l’instance de workflow. Pour être averti lorsque l’annulation est terminée, utilisez le Completed handle.

Par défaut, l’opération d’annulation doit se terminer en 30 secondes ou une TimeoutException opération est levée.

Cancel()

Annule l’instance de workflow.

public:
 void Cancel();
public void Cancel();
member this.Cancel : unit -> unit
Public Sub Cancel ()

Exemples

L’exemple suivant héberge un workflow à l’aide de WorkflowApplication. Une WorkflowApplication instance est construite à l’aide de la définition de flux de travail spécifiée, les événements de cycle de vie de flux de travail souhaités sont gérés et le flux de travail est appelé avec un appel à Run. Une fois le flux de travail démarré, Cancel il est appelé. Lorsque le flux de travail est annulé, la sortie suivante s’affiche dans la 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();

Remarques

Cette méthode planifie l’annulation de l’instance de workflow. Pour être averti lorsque l’annulation est terminée, utilisez le Completed gestionnaire.

Par défaut, l’opération d’annulation doit se terminer en 30 secondes ou une TimeoutException opération est levée.

S’applique à

Cancel(TimeSpan)

Annule l’instance de workflow à l’aide de l’intervalle de délai d’attente spécifié.

public:
 void Cancel(TimeSpan timeout);
public void Cancel(TimeSpan timeout);
member this.Cancel : TimeSpan -> unit
Public Sub Cancel (timeout As TimeSpan)

Paramètres

timeout
TimeSpan

Intervalle dans lequel l’opération d’annulation doit se terminer avant l’annulation de l’opération et levée TimeoutException .

Exemples

L’exemple suivant héberge un workflow à l’aide de WorkflowApplication. Une WorkflowApplication instance est construite à l’aide de la définition de flux de travail spécifiée, les événements de cycle de vie de flux de travail souhaités sont gérés et le flux de travail est appelé avec un appel à Run. Une fois le flux de travail démarré, Cancel il est appelé. Lorsque le flux de travail est annulé, la sortie suivante s’affiche dans la 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();

Remarques

Cette méthode planifie l’annulation de l’instance de workflow. Pour être averti lorsque l’annulation est terminée, utilisez le Completed gestionnaire.

S’applique à