WorkflowApplication Construtores

Definição

Cria uma nova instância da WorkflowApplication classe.

Sobrecargas

Name Description
WorkflowApplication(Activity)

Cria uma nova instância da WorkflowApplication classe com a definição do fluxo de trabalho especificada.

WorkflowApplication(Activity, WorkflowIdentity)

Cria uma nova instância da WorkflowApplication classe com a definição e identidade de definição do fluxo de trabalho especificadas.

WorkflowApplication(Activity, IDictionary<String,Object>)

Cria uma nova instância da WorkflowApplication classe que utiliza a definição do fluxo de trabalho e os valores do argumento especificados.

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

Cria uma nova instância da WorkflowApplication classe que utiliza os valores especificados de definição do fluxo de trabalho e argumentos, e a identidade da definição.

WorkflowApplication(Activity)

Cria uma nova instância da WorkflowApplication classe com a definição do fluxo de trabalho especificada.

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)

Parâmetros

workflowDefinition
Activity

A definição do fluxo de trabalho.

Exemplos

O exemplo a seguir configura um fluxo de trabalho usando WorkflowApplication. Uma WorkflowApplication instância é construída usando uma definição de fluxo de trabalho que consiste em uma única DiceRoll atividade. A atividade DiceRoll tem dois argumentos de saída que representam os resultados da operação de rolagem de dados. Quando o fluxo de trabalho termina, as saídas são recuperadas no Completed handler, e a saída seguinte é exibida na consola.

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

Aplica-se a

WorkflowApplication(Activity, WorkflowIdentity)

Cria uma nova instância da WorkflowApplication classe com a definição e identidade de definição do fluxo de trabalho especificadas.

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)

Parâmetros

workflowDefinition
Activity

A definição do fluxo de trabalho.

definitionIdentity
WorkflowIdentity

A definição de identidade.

Aplica-se a

WorkflowApplication(Activity, IDictionary<String,Object>)

Cria uma nova instância da WorkflowApplication classe que utiliza a definição do fluxo de trabalho e os valores do argumento especificados.

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

Parâmetros

workflowDefinition
Activity

A definição do fluxo de trabalho.

inputs
IDictionary<String,Object>

Os valores para argumentos definidos sobre a atividade raiz da definição do fluxo de trabalho, indexados pelo nome do argumento.

Exemplos

O exemplo a seguir configura um fluxo de trabalho usando WorkflowApplication. Uma WorkflowApplication instância é construída usando uma definição de fluxo de trabalho composta por uma única Divide atividade que recebe dois argumentos de entrada, e um dicionário de argumentos de entrada contendo os dois valores a passar, indexados pelo nome do argumento. Os eventos desejados do ciclo de vida do fluxo de trabalho são tratados, e o fluxo de trabalho é invocado com uma chamada para Run. Quando o fluxo de trabalho é concluído, a saída a seguir é exibida no 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();

Aplica-se a

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

Cria uma nova instância da WorkflowApplication classe que utiliza os valores especificados de definição do fluxo de trabalho e argumentos, e a identidade da definição.

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)

Parâmetros

workflowDefinition
Activity

A definição do fluxo de trabalho.

inputs
IDictionary<String,Object>

A definição de identidade.

definitionIdentity
WorkflowIdentity

Os valores para argumentos definidos sobre a atividade raiz da definição do fluxo de trabalho, indexados pelo nome do argumento.

Aplica-se a