WorkflowApplication Konstruktorer

Definition

Skapar en ny instans av WorkflowApplication klassen.

Överlagringar

Name Description
WorkflowApplication(Activity)

Skapar en ny instans av WorkflowApplication klassen med den angivna arbetsflödesdefinitionen.

WorkflowApplication(Activity, WorkflowIdentity)

Skapar en ny instans av WorkflowApplication klassen med den angivna arbetsflödesdefinitionen och definitionsidentiteten.

WorkflowApplication(Activity, IDictionary<String,Object>)

Skapar en ny instans av WorkflowApplication klassen som använder den angivna arbetsflödesdefinitionen och argumentvärdena.

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

Skapar en ny instans av WorkflowApplication klassen som använder den angivna arbetsflödesdefinitionen och argumentvärdena samt definitionsidentiteten.

WorkflowApplication(Activity)

Skapar en ny instans av WorkflowApplication klassen med den angivna arbetsflödesdefinitionen.

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)

Parametrar

workflowDefinition
Activity

Arbetsflödesdefinitionen.

Exempel

I följande exempel finns ett arbetsflöde med .WorkflowApplication En WorkflowApplication instans skapas med hjälp av en arbetsflödesdefinition som består av en enda DiceRoll aktivitet. Aktiviteten DiceRoll har två utdataargument som representerar resultatet av tärningskaståtgärden. När arbetsflödet är klart hämtas utdata i Completed hanteraren och följande utdata visas i konsolen.

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

Gäller för

WorkflowApplication(Activity, WorkflowIdentity)

Skapar en ny instans av WorkflowApplication klassen med den angivna arbetsflödesdefinitionen och definitionsidentiteten.

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)

Parametrar

workflowDefinition
Activity

Arbetsflödesdefinitionen.

definitionIdentity
WorkflowIdentity

Definitionsidentiteten.

Gäller för

WorkflowApplication(Activity, IDictionary<String,Object>)

Skapar en ny instans av WorkflowApplication klassen som använder den angivna arbetsflödesdefinitionen och argumentvärdena.

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

Parametrar

workflowDefinition
Activity

Arbetsflödesdefinitionen.

inputs
IDictionary<String,Object>

Värdena för argument som definierats för rotaktiviteten i arbetsflödesdefinitionen, med argumentnamnet som huvudnamn.

Exempel

I följande exempel finns ett arbetsflöde med .WorkflowApplication En WorkflowApplication instans konstrueras med hjälp av en arbetsflödesdefinition som består av en enda Divide aktivitet som tar två indataargument och en ordlista med indataargument som innehåller de två värden som ska skickas, med argumentnamnet som nyckel. Önskade livscykelhändelser för arbetsflödet hanteras och arbetsflödet anropas med ett anrop till Run. När arbetsflödet har slutförts visas följande utdata i konsolen.

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

Gäller för

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

Skapar en ny instans av WorkflowApplication klassen som använder den angivna arbetsflödesdefinitionen och argumentvärdena samt definitionsidentiteten.

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)

Parametrar

workflowDefinition
Activity

Arbetsflödesdefinitionen.

inputs
IDictionary<String,Object>

Definitionsidentiteten.

definitionIdentity
WorkflowIdentity

Värdena för argument som definierats för rotaktiviteten i arbetsflödesdefinitionen, med argumentnamnet som huvudnamn.

Gäller för