Partage via


WorkflowApplication Constructeurs

Définition

Crée une instance de la classe WorkflowApplication.

Surcharges

WorkflowApplication(Activity)

Initialise une instance de la classe WorkflowApplication avec la définition de flux de travail spécifiée.

WorkflowApplication(Activity, WorkflowIdentity)

Initialise une instance de la classe WorkflowApplication avec la définition de flux de travail et l'identité de définition spécifiées.

WorkflowApplication(Activity, IDictionary<String,Object>)

Crée une instance de la classe WorkflowApplication qui utilise la définition de flux de travail et les valeurs d’argument spécifiées.

WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity)

Crée une instance de la classe WorkflowApplication qui utilise la définition de flux de travail, les valeurs d'argument et l'identité de définition spécifiées.

WorkflowApplication(Activity)

Initialise une instance de la classe WorkflowApplication avec la définition de flux de travail spécifiée.

public:
 WorkflowApplication(System::Activities::Activity ^ workflowDefinition);
public WorkflowApplication (System.Activities.Activity workflowDefinition);
new System.Activities.WorkflowApplication : System.Activities.Activity -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity)

Paramètres

workflowDefinition
Activity

Définition de flux de travail.

Exemples

L'exemple suivant héberge un workflow à l'aide de WorkflowApplication. Une instance WorkflowApplication est construite avec une définition de workflow qui se compose d’une seule activité DiceRoll. L’activité DiceRoll a deux arguments de sortie qui représentent les résultats du jet de dés. Lorsque le flux de travail se termine, les sorties sont récupérées dans le gestionnaire d'événements Completed et la sortie suivante s'affiche sur la console.

Workflow aae3fb48-7229-4737-b969-d63e131b96b3 Completed.   
The two dice are 1 and 5.  
public sealed class DiceRoll : CodeActivity
{
    public OutArgument<int> D1 { get; set; }
    public OutArgument<int> D2 { get; set; }

    static Random r = new Random();

    protected override void Execute(CodeActivityContext context)
    {
        D1.Set(context, r.Next(1, 7));
        D2.Set(context, r.Next(1, 7));
    }
}
 // Create a WorkflowApplication instance.
 WorkflowApplication wfApp = new WorkflowApplication(new DiceRoll());

 // 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);

         // Outputs can be retrieved from the Outputs dictionary,
         // keyed by argument name.
         Console.WriteLine("The two dice are {0} and {1}.",
             e.Outputs["D1"], e.Outputs["D2"]);
     }
 };

// Run the workflow.
 wfApp.Run();

S’applique à

WorkflowApplication(Activity, WorkflowIdentity)

Initialise une instance de la classe WorkflowApplication avec la définition de flux de travail et l'identité de définition spécifiées.

public:
 WorkflowApplication(System::Activities::Activity ^ workflowDefinition, System::Activities::WorkflowIdentity ^ definitionIdentity);
public WorkflowApplication (System.Activities.Activity workflowDefinition, System.Activities.WorkflowIdentity definitionIdentity);
new System.Activities.WorkflowApplication : System.Activities.Activity * System.Activities.WorkflowIdentity -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity, definitionIdentity As WorkflowIdentity)

Paramètres

workflowDefinition
Activity

Définition de flux de travail.

definitionIdentity
WorkflowIdentity

Identité de définition.

S’applique à

WorkflowApplication(Activity, IDictionary<String,Object>)

Crée une instance de la classe WorkflowApplication qui utilise la définition de flux de travail et les valeurs d’argument spécifiées.

public:
 WorkflowApplication(System::Activities::Activity ^ workflowDefinition, System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ inputs);
public WorkflowApplication (System.Activities.Activity workflowDefinition, System.Collections.Generic.IDictionary<string,object> inputs);
new System.Activities.WorkflowApplication : System.Activities.Activity * System.Collections.Generic.IDictionary<string, obj> -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity, inputs As IDictionary(Of String, Object))

Paramètres

workflowDefinition
Activity

Définition de flux de travail.

inputs
IDictionary<String,Object>

Valeurs des arguments définis sur l’activité racine de la définition de flux de travail ; elles sont indexées par nom d’argument.

Exemples

L'exemple suivant héberge un workflow à l'aide de WorkflowApplication. Un WorkflowApplication instance est construit à l’aide d’une définition de flux de travail composée d’une seule Divide activité qui prend deux arguments d’entrée et d’un dictionnaire d’arguments d’entrée contenant les deux valeurs à passer, clé par nom d’argument. Les événements de cycle de vie souhaités du flux de travail sont gérés et le flux de travail est appelé au moyen d'un appel à Run. Lorsque le flux de travail est terminé, la sortie suivante s'affiche sur la console.

Workflow 8dc844c1-bbf8-4b21-a9a2-05f89e416055 Completed  
500 / 36 = 13 Remainder 32  
Workflow 8dc844c1-bbf8-4b21-a9a2-05f89e416055 Unloaded.  
public sealed class Divide : CodeActivity
{
    [RequiredArgument]
    public InArgument<int> Dividend { get; set; }

    [RequiredArgument]
    public InArgument<int> Divisor { get; set; }

    public OutArgument<int> Remainder { get; set; }
    public OutArgument<int> Result { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        int quotient = Dividend.Get(context) / Divisor.Get(context);
        int remainder = Dividend.Get(context) % Divisor.Get(context);

        Result.Set(context, quotient);
        Remainder.Set(context, remainder);
    }
}
int dividend = 500;
int divisor = 36;

Dictionary<string, object> inputs = new Dictionary<string, object>();
inputs.Add("Dividend", dividend);
inputs.Add("Divisor", divisor);

// Create a WorkflowApplication instance.
WorkflowApplication wfApp = new WorkflowApplication(new Divide(), inputs);

// 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);

        // Outputs can be retrieved from the Outputs dictionary,
        // keyed by argument name.
        Console.WriteLine("{0} / {1} = {2} Remainder {3}",
            dividend, divisor, e.Outputs["Result"], e.Outputs["Remainder"]);
    }
};

// Run the workflow.
wfApp.Run();

S’applique à

WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity)

Crée une instance de la classe WorkflowApplication qui utilise la définition de flux de travail, les valeurs d'argument et l'identité de définition spécifiées.

public:
 WorkflowApplication(System::Activities::Activity ^ workflowDefinition, System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ inputs, System::Activities::WorkflowIdentity ^ definitionIdentity);
public WorkflowApplication (System.Activities.Activity workflowDefinition, System.Collections.Generic.IDictionary<string,object> inputs, System.Activities.WorkflowIdentity definitionIdentity);
new System.Activities.WorkflowApplication : System.Activities.Activity * System.Collections.Generic.IDictionary<string, obj> * System.Activities.WorkflowIdentity -> System.Activities.WorkflowApplication
Public Sub New (workflowDefinition As Activity, inputs As IDictionary(Of String, Object), definitionIdentity As WorkflowIdentity)

Paramètres

workflowDefinition
Activity

Définition de flux de travail.

inputs
IDictionary<String,Object>

Identité de définition.

definitionIdentity
WorkflowIdentity

Valeurs des arguments définis sur l’activité racine de la définition de flux de travail ; elles sont indexées par nom d’argument.

S’applique à