Sdílet prostřednictvím


WorkflowApplication Konstruktory

Definice

Vytvoří novou instanci třídy WorkflowApplication.

Přetížení

WorkflowApplication(Activity)

Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu.

WorkflowApplication(Activity, WorkflowIdentity)

Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu a definicí identity.

WorkflowApplication(Activity, IDictionary<String,Object>)

Vytvoří novou instanci WorkflowApplication třídy, která používá zadané definice pracovního postupu a hodnoty argumentu.

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

Vytvoří novou instanci WorkflowApplication třídy, která používá zadanou definici pracovního postupu, hodnoty argumentů a identitu definice.

WorkflowApplication(Activity)

Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu.

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)

Parametry

workflowDefinition
Activity

Definice pracovního postupu

Příklady

Následující příklad hostuje pracovní postup pomocí WorkflowApplication. Instance WorkflowApplication je vytvořena pomocí definice pracovního postupu, která se skládá z jedné DiceRoll aktivity. Aktivita DiceRoll má dva výstupní argumenty, které představují výsledky operace hodu kostkou. Po dokončení pracovního postupu se výstupy načtou v obslužné rutině Completed a konzolě se zobrazí následující výstup.

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

Platí pro

WorkflowApplication(Activity, WorkflowIdentity)

Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu a definicí identity.

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)

Parametry

workflowDefinition
Activity

Definice pracovního postupu

definitionIdentity
WorkflowIdentity

Identita definice.

Platí pro

WorkflowApplication(Activity, IDictionary<String,Object>)

Vytvoří novou instanci WorkflowApplication třídy, která používá zadané definice pracovního postupu a hodnoty argumentu.

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

Parametry

workflowDefinition
Activity

Definice pracovního postupu

inputs
IDictionary<String,Object>

Hodnoty pro argumenty definované v kořenové aktivitě definice pracovního postupu, které jsou klíčové podle názvu argumentu.

Příklady

Následující příklad hostuje pracovní postup pomocí WorkflowApplication. Instance WorkflowApplication je vytvořena pomocí definice pracovního postupu, která se skládá z jedné Divide aktivity, která přijímá dva vstupní argumenty, a slovník vstupních argumentů obsahující dvě hodnoty, které mají být předány, s klíčem podle názvu argumentu. Zpracují se požadované události životního cyklu pracovního postupu a pracovní postup se vyvolá voláním Run. Po dokončení pracovního postupu se v konzole zobrazí následující výstup.

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

Platí pro

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

Vytvoří novou instanci WorkflowApplication třídy, která používá zadanou definici pracovního postupu, hodnoty argumentů a identitu definice.

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)

Parametry

workflowDefinition
Activity

Definice pracovního postupu

inputs
IDictionary<String,Object>

Identita definice.

definitionIdentity
WorkflowIdentity

Hodnoty pro argumenty definované v kořenové aktivitě definice pracovního postupu, které jsou klíčové podle názvu argumentu.

Platí pro