WorkflowApplication Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří novou instanci třídy WorkflowApplication.
Přetížení
WorkflowApplication(Activity) |
Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu. |
WorkflowApplication(Activity, WorkflowIdentity) |
Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu a definicí identity. |
WorkflowApplication(Activity, IDictionary<String,Object>) |
Vytvoří novou instanci WorkflowApplication třídy, která používá zadané definice pracovního postupu a hodnoty argumentu. |
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity) |
Vytvoří novou instanci WorkflowApplication třídy, která používá zadanou definici pracovního postupu, hodnoty argumentů a identitu definice. |
WorkflowApplication(Activity)
Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu.
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)
Parametry
- workflowDefinition
- Activity
Definice pracovního postupu
Příklady
Následující příklad hostuje pracovní postup pomocí WorkflowApplication. Instance WorkflowApplication je vytvořena pomocí definice pracovního postupu, která se skládá z jedné DiceRoll
aktivity. Aktivita DiceRoll
má dva výstupní argumenty, které představují výsledky operace hodu kostkou. Po dokončení pracovního postupu se výstupy načtou v obslužné rutině Completed a konzolě se zobrazí následující výstup.
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();
Platí pro
WorkflowApplication(Activity, WorkflowIdentity)
Vytvoří novou instanci WorkflowApplication třídy se zadanou definicí pracovního postupu a definicí identity.
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)
Parametry
- workflowDefinition
- Activity
Definice pracovního postupu
- definitionIdentity
- WorkflowIdentity
Identita definice.
Platí pro
WorkflowApplication(Activity, IDictionary<String,Object>)
Vytvoří novou instanci WorkflowApplication třídy, která používá zadané definice pracovního postupu a hodnoty argumentu.
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))
Parametry
- workflowDefinition
- Activity
Definice pracovního postupu
- inputs
- IDictionary<String,Object>
Hodnoty pro argumenty definované v kořenové aktivitě definice pracovního postupu, které jsou klíčové podle názvu argumentu.
Příklady
Následující příklad hostuje pracovní postup pomocí WorkflowApplication. Instance WorkflowApplication je vytvořena pomocí definice pracovního postupu, která se skládá z jedné Divide
aktivity, která přijímá dva vstupní argumenty, a slovník vstupních argumentů obsahující dvě hodnoty, které mají být předány, s klíčem podle názvu argumentu. Zpracují se požadované události životního cyklu pracovního postupu a pracovní postup se vyvolá voláním Run. Po dokončení pracovního postupu se v konzole zobrazí následující výstup.
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();
Platí pro
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity)
Vytvoří novou instanci WorkflowApplication třídy, která používá zadanou definici pracovního postupu, hodnoty argumentů a identitu definice.
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)
Parametry
- workflowDefinition
- Activity
Definice pracovního postupu
- inputs
- IDictionary<String,Object>
Identita definice.
- definitionIdentity
- WorkflowIdentity
Hodnoty pro argumenty definované v kořenové aktivitě definice pracovního postupu, které jsou klíčové podle názvu argumentu.