WorkflowApplication Costruttori

Definizione

Crea una nuova istanza della WorkflowApplication classe .

Overload

Nome Descrizione
WorkflowApplication(Activity)

Crea una nuova istanza della WorkflowApplication classe con la definizione del flusso di lavoro specificata.

WorkflowApplication(Activity, WorkflowIdentity)

Crea una nuova istanza della WorkflowApplication classe con la definizione e l'identità di definizione del flusso di lavoro specificati.

WorkflowApplication(Activity, IDictionary<String,Object>)

Crea una nuova istanza della WorkflowApplication classe che utilizza la definizione del flusso di lavoro e i valori dell'argomento specificati.

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

Crea una nuova istanza della WorkflowApplication classe che usa la definizione del flusso di lavoro e i valori degli argomenti specificati e l'identità della definizione.

WorkflowApplication(Activity)

Crea una nuova istanza della WorkflowApplication classe con la definizione del flusso di lavoro specificata.

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)

Parametri

workflowDefinition
Activity

Definizione del flusso di lavoro.

Esempio

Nell'esempio seguente viene ospitato un flusso di lavoro usando WorkflowApplication. Un'istanza di WorkflowApplication viene costruita usando una definizione del flusso di lavoro costituita da una singola attività DiceRoll. L'attività DiceRoll ha due argomenti di output che rappresentano i risultati dell'operazione di lancio dei dadi. Al termine del flusso di lavoro, gli output vengono recuperati nel Completed gestore e l'output seguente viene visualizzato nella 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();

Si applica a

WorkflowApplication(Activity, WorkflowIdentity)

Crea una nuova istanza della WorkflowApplication classe con la definizione e l'identità di definizione del flusso di lavoro specificati.

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)

Parametri

workflowDefinition
Activity

Definizione del flusso di lavoro.

definitionIdentity
WorkflowIdentity

Identità della definizione.

Si applica a

WorkflowApplication(Activity, IDictionary<String,Object>)

Crea una nuova istanza della WorkflowApplication classe che utilizza la definizione del flusso di lavoro e i valori dell'argomento specificati.

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

Parametri

workflowDefinition
Activity

Definizione del flusso di lavoro.

inputs
IDictionary<String,Object>

Valori per gli argomenti definiti nell'attività radice della definizione del flusso di lavoro, con chiave in base al nome dell'argomento.

Esempio

Nell'esempio seguente viene ospitato un flusso di lavoro usando WorkflowApplication. Un'istanza WorkflowApplication viene costruita usando una definizione del flusso di lavoro costituita da una singola Divide attività che accetta due argomenti di input e un dizionario di argomenti di input contenenti i due valori da passare, con chiave in base al nome dell'argomento. Gli eventi del ciclo di vita del flusso di lavoro desiderati vengono gestiti e il flusso di lavoro viene richiamato con una chiamata a Run. Al termine del flusso di lavoro, viene visualizzato l'output seguente nella 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();

Si applica a

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

Crea una nuova istanza della WorkflowApplication classe che usa la definizione del flusso di lavoro e i valori degli argomenti specificati e l'identità della definizione.

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)

Parametri

workflowDefinition
Activity

Definizione del flusso di lavoro.

inputs
IDictionary<String,Object>

Identità della definizione.

definitionIdentity
WorkflowIdentity

Valori per gli argomenti definiti nell'attività radice della definizione del flusso di lavoro, con chiave in base al nome dell'argomento.

Si applica a