WorkflowApplication Constructeurs

Définition

Crée une instance de la WorkflowApplication classe.

Surcharges

Nom Description
WorkflowApplication(Activity)

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

WorkflowApplication(Activity, WorkflowIdentity)

Crée une instance de la WorkflowApplication classe avec la définition et l’identité de définition de flux de travail spécifiées.

WorkflowApplication(Activity, IDictionary<String,Object>)

Crée une instance de la WorkflowApplication classe 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 WorkflowApplication classe qui utilise la définition de flux de travail et les valeurs d’argument spécifiées et l’identité de définition.

WorkflowApplication(Activity)

Crée une instance de la WorkflowApplication classe 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 du flux de travail.

Exemples

L’exemple suivant héberge un workflow à l’aide de WorkflowApplication. Une WorkflowApplication instance est construite à l’aide d’une définition de flux de travail composée d’une seule DiceRoll activité. L’activité DiceRoll a deux arguments de sortie qui représentent les résultats de l’opération de lancement de dés. Une fois le flux de travail terminé, les sorties sont récupérées dans le Completed gestionnaire et la sortie suivante s’affiche dans 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)

Crée une instance de la WorkflowApplication classe avec la définition et l’identité de définition de flux de travail 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 du flux de travail.

definitionIdentity
WorkflowIdentity

Identité de définition.

S’applique à

WorkflowApplication(Activity, IDictionary<String,Object>)

Crée une instance de la WorkflowApplication classe 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 du flux de travail.

inputs
IDictionary<String,Object>

Valeurs des arguments définis sur l’activité racine de la définition de workflow, clé par nom d’argument.

Exemples

L’exemple suivant héberge un workflow à l’aide de WorkflowApplication. Une WorkflowApplication instance est construite à l’aide d’une définition de flux de travail composée d’une seule Divide activité qui accepte deux arguments d’entrée et un dictionnaire d’arguments d’entrée contenant les deux valeurs à transmettre, clé par nom d’argument. 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 terminé, la sortie suivante s’affiche dans 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 WorkflowApplication classe qui utilise la définition de flux de travail et les valeurs d’argument spécifiées et l’identité de définition.

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 du 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 workflow, clé par nom d’argument.

S’applique à