Udostępnij za pośrednictwem


WorkflowApplication Konstruktory

Definicja

Tworzy nowe wystąpienie klasy WorkflowApplication.

Przeciążenia

WorkflowApplication(Activity)

Tworzy nowe wystąpienie WorkflowApplication klasy z określoną definicją przepływu pracy.

WorkflowApplication(Activity, WorkflowIdentity)

Tworzy nowe wystąpienie WorkflowApplication klasy z określoną definicją przepływu pracy i tożsamością definicji.

WorkflowApplication(Activity, IDictionary<String,Object>)

Tworzy nowe wystąpienie WorkflowApplication klasy, które używa określonej definicji przepływu pracy i wartości argumentów.

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

Tworzy nowe wystąpienie WorkflowApplication klasy, które używa określonej definicji przepływu pracy i wartości argumentów oraz tożsamości definicji.

WorkflowApplication(Activity)

Tworzy nowe wystąpienie WorkflowApplication klasy z określoną definicją przepływu pracy.

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

Definicja przepływu pracy.

Przykłady

Poniższy przykład hostuje przepływ pracy przy użyciu polecenia WorkflowApplication. Wystąpienie WorkflowApplication jest tworzone przy użyciu definicji przepływu pracy składającej się z jednego DiceRoll działania. Działanie DiceRoll ma dwa argumenty wyjściowe reprezentujące wyniki operacji rzutowania kostką. Po zakończeniu przepływu pracy dane wyjściowe są pobierane w procedurze Completed obsługi, a następujące dane wyjściowe są wyświetlane w konsoli programu .

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

Dotyczy

WorkflowApplication(Activity, WorkflowIdentity)

Tworzy nowe wystąpienie WorkflowApplication klasy z określoną definicją przepływu pracy i tożsamością definicji.

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

Definicja przepływu pracy.

definitionIdentity
WorkflowIdentity

Tożsamość definicji.

Dotyczy

WorkflowApplication(Activity, IDictionary<String,Object>)

Tworzy nowe wystąpienie WorkflowApplication klasy, które używa określonej definicji przepływu pracy i wartości argumentów.

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

Definicja przepływu pracy.

inputs
IDictionary<String,Object>

Wartości argumentów zdefiniowanych w działaniu głównym definicji przepływu pracy z kluczem według nazwy argumentu.

Przykłady

Poniższy przykład hostuje przepływ pracy przy użyciu polecenia WorkflowApplication. Wystąpienie WorkflowApplication jest tworzone przy użyciu definicji przepływu pracy składającej się z jednego Divide działania, które przyjmuje dwa argumenty wejściowe, oraz słownik argumentów wejściowych zawierających dwie wartości do przekazania, kluczem według nazwy argumentu. Obsługiwane są zdarzenia cyklu życia żądanego przepływu pracy, a przepływ pracy jest wywoływany za pomocą wywołania metody Run. Po zakończeniu przepływu pracy w konsoli zostaną wyświetlone następujące dane wyjściowe.

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

Dotyczy

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

Tworzy nowe wystąpienie WorkflowApplication klasy, które używa określonej definicji przepływu pracy i wartości argumentów oraz tożsamości definicji.

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

Definicja przepływu pracy.

inputs
IDictionary<String,Object>

Tożsamość definicji.

definitionIdentity
WorkflowIdentity

Wartości argumentów zdefiniowanych w działaniu głównym definicji przepływu pracy z kluczem według nazwy argumentu.

Dotyczy