WorkflowApplication Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una nueva instancia de la clase WorkflowApplication.
Sobrecargas
WorkflowApplication(Activity) |
Crea una nueva instancia de la clase WorkflowApplication con la definición de flujo de trabajo especificada. |
WorkflowApplication(Activity, WorkflowIdentity) |
Crea una nueva instancia de la clase WorkflowApplication con la definición de flujo de trabajo e identidad de la definición especificados. |
WorkflowApplication(Activity, IDictionary<String,Object>) |
Crea una nueva instancia de la clase WorkflowApplication que utiliza la definición de flujo de trabajo y valores de argumento especificados. |
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity) |
Crea una nueva instancia de la clase WorkflowApplication que utiliza la definición de flujo de trabajo y valores de argumento especificados y la identidad de la definición. |
WorkflowApplication(Activity)
Crea una nueva instancia de la clase WorkflowApplication con la definición de flujo de trabajo 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
Definición del flujo de trabajo.
Ejemplos
En el siguiente ejemplo, se hospeda un flujo de trabajo utilizando WorkflowApplication. Una instancia de WorkflowApplication se construye utilizando una definición de flujo de trabajo que está compuesta de actividad DiceRoll
única. La actividad DiceRoll
tiene dos argumentos de salida que representan los resultados de la operación de tirar los dados. Cuando el flujo de trabajo se completa, las salidas se recuperan en el controlador de la propiedad Completed y el siguiente resultado se muestra en la 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();
Se aplica a
WorkflowApplication(Activity, WorkflowIdentity)
Crea una nueva instancia de la clase WorkflowApplication con la definición de flujo de trabajo e identidad de la definición especificados.
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
Definición del flujo de trabajo.
- definitionIdentity
- WorkflowIdentity
Identidad de la definición.
Se aplica a
WorkflowApplication(Activity, IDictionary<String,Object>)
Crea una nueva instancia de la clase WorkflowApplication que utiliza la definición de flujo de trabajo y valores de 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
Definición del flujo de trabajo.
- inputs
- IDictionary<String,Object>
Valores de los argumentos definidos en la actividad raíz de la definición de flujo de trabajo, ordenados por nombre de argumento.
Ejemplos
En el siguiente ejemplo, se hospeda un flujo de trabajo utilizando WorkflowApplication. Una WorkflowApplication instancia se construye mediante una definición de flujo de trabajo que consta de una sola Divide
actividad que toma dos argumentos de entrada y un diccionario de argumentos de entrada que contienen los dos valores que se van a pasar, con clave por nombre de argumento. Se controlan los eventos del ciclo de vida de flujo de trabajo deseados y el flujo de trabajo se invoca con una llamada al método Run. Cuando se completa el flujo de trabajo, se muestra la siguiente salida en la consola.
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();
Se aplica a
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity)
Crea una nueva instancia de la clase WorkflowApplication que utiliza la definición de flujo de trabajo y valores de argumento especificados y la identidad de la definición.
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
Definición del flujo de trabajo.
- inputs
- IDictionary<String,Object>
Identidad de la definición.
- definitionIdentity
- WorkflowIdentity
Valores de los argumentos definidos en la actividad raíz de la definición de flujo de trabajo, ordenados por nombre de argumento.