WorkflowApplication Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una nuova istanza della classe WorkflowApplication.
Overload
WorkflowApplication(Activity) |
Crea una nuova istanza della classe WorkflowApplication con la definizione del flusso di lavoro specificata. |
WorkflowApplication(Activity, WorkflowIdentity) |
Crea una nuova istanza della classe WorkflowApplication con la definizione dei flussi di lavoro e l'identità delle definizioni specificati. |
WorkflowApplication(Activity, IDictionary<String,Object>) |
Crea una nuova istanza della classe WorkflowApplication che utilizza la definizione di flusso di lavoro specificata e i valori di argomento. |
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity) |
Crea una nuova istanza della classe WorkflowApplication che utilizza la definizione di flusso di lavoro specificata e i valori di argomento e l'identità della definizione. |
WorkflowApplication(Activity)
Crea una nuova istanza della classe WorkflowApplication 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 tramite WorkflowApplication. Un'istanza WorkflowApplication viene costruita usando una definizione del flusso di lavoro costituita da una singola DiceRoll
attività. L'attività DiceRoll
dispone di due argomenti di output che rappresentano i risultati dell'operazione di lancio dei dadi. Quando il flusso di lavoro viene completato, gli output vengono recuperati nel gestore Completed e l'output seguente viene visualizzato alla 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 classe WorkflowApplication con la definizione dei flussi di lavoro e l'identità delle definizioni 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 classe WorkflowApplication che utilizza la definizione di flusso di lavoro specificata e i valori di argomento.
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>
I valori per argomenti definiti nell'attività radice della definizione del flusso di lavoro, con chiave basata sul nome dell'argomento.
Esempio
Nell'esempio seguente viene ospitato un flusso di lavoro tramite 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. Vengono gestiti gli eventi del ciclo di vita del flusso di lavoro desiderati e il flusso di lavoro viene richiamato con una chiamata a Run. Quando il flusso di lavoro viene completato, l'output seguente viene visualizzato 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 classe WorkflowApplication che utilizza la definizione di flusso di lavoro specificata e i valori di argomento 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
I valori per argomenti definiti nell'attività radice della definizione del flusso di lavoro, con chiave basata sul nome dell'argomento.