WorkflowApplication Constructors

Definitie

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse.

Overloads

Name Description
WorkflowApplication(Activity)

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse met de opgegeven werkstroomdefinitie.

WorkflowApplication(Activity, WorkflowIdentity)

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse met de opgegeven werkstroomdefinitie en definitie-id.

WorkflowApplication(Activity, IDictionary<String,Object>)

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse die gebruikmaakt van de opgegeven werkstroomdefinitie en argumentwaarden.

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

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse die gebruikmaakt van de opgegeven werkstroomdefinitie en argumentwaarden en definitie-id.

WorkflowApplication(Activity)

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse met de opgegeven werkstroomdefinitie.

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)

Parameters

workflowDefinition
Activity

De werkstroomdefinitie.

Voorbeelden

In het volgende voorbeeld wordt een werkstroom gehost met behulp van WorkflowApplication. Een WorkflowApplication exemplaar wordt samengesteld met behulp van een werkstroomdefinitie die bestaat uit één DiceRoll activiteit. De DiceRoll activiteit heeft twee uitvoerargumenten die de resultaten van de dobbelsteendraaibewerking vertegenwoordigen. Wanneer de werkstroom is voltooid, worden de uitvoer opgehaald in de Completed handler en wordt de volgende uitvoer weergegeven in de 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();

Van toepassing op

WorkflowApplication(Activity, WorkflowIdentity)

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse met de opgegeven werkstroomdefinitie en definitie-id.

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)

Parameters

workflowDefinition
Activity

De werkstroomdefinitie.

definitionIdentity
WorkflowIdentity

De definitie-id.

Van toepassing op

WorkflowApplication(Activity, IDictionary<String,Object>)

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse die gebruikmaakt van de opgegeven werkstroomdefinitie en argumentwaarden.

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

Parameters

workflowDefinition
Activity

De werkstroomdefinitie.

inputs
IDictionary<String,Object>

De waarden voor argumenten die zijn gedefinieerd voor de hoofdactiviteit van de werkstroomdefinitie, gesleuteld op argumentnaam.

Voorbeelden

In het volgende voorbeeld wordt een werkstroom gehost met behulp van WorkflowApplication. Een WorkflowApplication exemplaar wordt samengesteld met behulp van een werkstroomdefinitie die bestaat uit één Divide activiteit die twee invoerargumenten gebruikt en een woordenlijst met invoerargumenten die de twee waarden bevatten die moeten worden doorgegeven, met de naam van het argument. De gewenste levenscyclusgebeurtenissen voor werkstromen worden verwerkt en de werkstroom wordt aangeroepen met een aanroep naar Run. Wanneer de werkstroom is voltooid, wordt de volgende uitvoer weergegeven in de 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();

Van toepassing op

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

Hiermee maakt u een nieuw exemplaar van de WorkflowApplication klasse die gebruikmaakt van de opgegeven werkstroomdefinitie en argumentwaarden en definitie-id.

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)

Parameters

workflowDefinition
Activity

De werkstroomdefinitie.

inputs
IDictionary<String,Object>

De definitie-id.

definitionIdentity
WorkflowIdentity

De waarden voor argumenten die zijn gedefinieerd voor de hoofdactiviteit van de werkstroomdefinitie, gesleuteld op argumentnaam.

Van toepassing op