WorkflowApplication Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine neue Instanz der WorkflowApplication Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| WorkflowApplication(Activity) |
Erstellt eine neue Instanz der WorkflowApplication Klasse mit der angegebenen Workflowdefinition. |
| WorkflowApplication(Activity, WorkflowIdentity) |
Erstellt eine neue Instanz der WorkflowApplication Klasse mit der angegebenen Workflowdefinitions- und Definitionsidentität. |
| WorkflowApplication(Activity, IDictionary<String,Object>) |
Erstellt eine neue Instanz der WorkflowApplication Klasse, die die angegebenen Workflowdefinitions- und Argumentwerte verwendet. |
| WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity) |
Erstellt eine neue Instanz der WorkflowApplication Klasse, die die angegebenen Workflowdefinitions- und Argumentwerte und die Definitionsidentität verwendet. |
WorkflowApplication(Activity)
Erstellt eine neue Instanz der WorkflowApplication Klasse mit der angegebenen Workflowdefinition.
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)
Parameter
- workflowDefinition
- Activity
Die Workflowdefinition.
Beispiele
Im folgenden Beispiel wird ein Workflow mit WorkflowApplication gehostet. Eine WorkflowApplication Instanz wird mithilfe einer Workflowdefinition erstellt, die aus einer einzelnen DiceRoll Aktivität besteht. Die DiceRoll Aktivität weist zwei Ausgabeargumente auf, die die Ergebnisse des Würfelrollvorgangs darstellen. Wenn der Workflow abgeschlossen ist, werden die Ausgaben im Completed Handler abgerufen, und die folgende Ausgabe wird in der Konsole angezeigt.
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();
Gilt für:
WorkflowApplication(Activity, WorkflowIdentity)
Erstellt eine neue Instanz der WorkflowApplication Klasse mit der angegebenen Workflowdefinitions- und Definitionsidentität.
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)
Parameter
- workflowDefinition
- Activity
Die Workflowdefinition.
- definitionIdentity
- WorkflowIdentity
Die Definitionsidentität.
Gilt für:
WorkflowApplication(Activity, IDictionary<String,Object>)
Erstellt eine neue Instanz der WorkflowApplication Klasse, die die angegebenen Workflowdefinitions- und Argumentwerte verwendet.
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))
Parameter
- workflowDefinition
- Activity
Die Workflowdefinition.
- inputs
- IDictionary<String,Object>
Die Werte für Argumente, die für die Stammaktivität der Workflowdefinition definiert sind, schlüsselt nach Argumentname.
Beispiele
Im folgenden Beispiel wird ein Workflow mit WorkflowApplication gehostet. Eine WorkflowApplication Instanz wird mithilfe einer Workflowdefinition erstellt, die aus einer einzelnen Divide Aktivität besteht, die zwei Eingabeargumente akzeptiert, und ein Wörterbuch mit Eingabeargumenten, die die beiden zu übergebenden Werte enthalten, mit Argumentname schlüsseln. Die gewünschten Workflowlebenszyklusereignisse werden behandelt, und der Workflow wird mit einem Aufruf Runaufgerufen. Nach Abschluss des Workflows wird die folgende Ausgabe in der Konsole angezeigt.
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();
Gilt für:
WorkflowApplication(Activity, IDictionary<String,Object>, WorkflowIdentity)
Erstellt eine neue Instanz der WorkflowApplication Klasse, die die angegebenen Workflowdefinitions- und Argumentwerte und die Definitionsidentität verwendet.
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)
Parameter
- workflowDefinition
- Activity
Die Workflowdefinition.
- inputs
- IDictionary<String,Object>
Die Definitionsidentität.
- definitionIdentity
- WorkflowIdentity
Die Werte für Argumente, die für die Stammaktivität der Workflowdefinition definiert sind, schlüsselt nach Argumentname.