WorkflowRuntime.CreateWorkflow Methode
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 durch das Verwenden der angegebenen Parameter eine Workflowinstanz.
Überlädt
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid) |
Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz. |
CreateWorkflow(Type, Dictionary<String,Object>, Guid) |
Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz. |
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>) |
Erstellt eine Workflowinstanz, indem die angegebenen XmlReader-Objekte und die Argumente verwendet werden, die im angegebenen Dictionary<TKey,TValue> enthalten sind. |
CreateWorkflow(XmlReader) |
Erstellt mit dem angegebenen XmlReader eine Workflowinstanz. |
CreateWorkflow(Type) |
Erstellt mit dem Type des angegebenen Workflows eine neue Workflowinstanz. |
CreateWorkflow(Type, Dictionary<String,Object>) |
Erstellt eine Workflowinstanz, indem der angegebene Type des Workflows und seine Argumente verwendet werden, die im angegebenen Dictionary<TKey,TValue> enthalten sind. |
Hinweise
Wenn die Workflowruntime-Engine nicht gestartet wurde, rufen die CreateWorkflow-Methoden StartRuntime auf. Eine Liste mit möglichen Ausnahmen finden Sie unter StartRuntime. Rufen Sie nach dem Erstellen der Workflowinstanz WorkflowInstance.Start für das WorkflowInstance-Objekt auf, das von der CreateWorkflow-Methode zurückgegeben wird, um die Ausführung zu starten.
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)
Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.
public:
System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader, System::Xml::XmlReader ^ rulesReader, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues, Guid instanceId);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader, System.Xml.XmlReader rulesReader, System.Collections.Generic.Dictionary<string,object> namedArgumentValues, Guid instanceId);
member this.CreateWorkflow : System.Xml.XmlReader * System.Xml.XmlReader * System.Collections.Generic.Dictionary<string, obj> * Guid -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader, rulesReader As XmlReader, namedArgumentValues As Dictionary(Of String, Object), instanceId As Guid) As WorkflowInstance
Parameter
- namedArgumentValues
- Dictionary<String,Object>
Ein Dictionary<TKey,TValue> von Objekten, die durch eine Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.
- instanceId
- Guid
Die Guid der jeweils zu erstellenden WorkflowInstance.
Gibt zurück
Die erstellte Workflowinstanz.
Ausnahmen
workflowType
ist ein NULL-Verweis (Nothing
in Visual Basic).
Hinweise
Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst. Dies funktioniert für einfache Szenarios gut, aber in einer Serverumgebung kann das erneute Überprüfen eines Workflows bei jeder Aktivierung zu unnötigem Mehraufwand führen.
Weitere Informationen zum Deaktivieren der Validierung finden Sie unter ValidateOnCreate.
Die instanceId
des Workflows muss für alle ausgeführten Workflows, die von WorkflowRuntime geladen werden, jeweils eindeutig sein. Wenn Sie eine instanceId
übergeben, um einen Workflow zu erstellen, und ein ausgeführter Workflow diese instanceId
bereits verwendet, wird eine InvalidOperationException ausgelöst.
Ein Beispiel für das Übergeben von Parametern zu CreateWorkflow
den Parametern finden Sie unter Workflow mit Parameterbeispiel.
Ein Beispiel für die Verwendung von Regeln, die in XML definiert sind, finden Sie unter IfElse with Rules Sample.
Gilt für
CreateWorkflow(Type, Dictionary<String,Object>, Guid)
Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.
public:
System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues, Guid instanceId);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType, System.Collections.Generic.Dictionary<string,object> namedArgumentValues, Guid instanceId);
member this.CreateWorkflow : Type * System.Collections.Generic.Dictionary<string, obj> * Guid -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type, namedArgumentValues As Dictionary(Of String, Object), instanceId As Guid) As WorkflowInstance
Parameter
- namedArgumentValues
- Dictionary<String,Object>
Ein Dictionary<TKey,TValue> von Objekten, die durch eine Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.
- instanceId
- Guid
Die Guid der jeweils zu erstellenden WorkflowInstance.
Gibt zurück
Die erstellte Workflowinstanz.
Ausnahmen
workflowType
ist ein NULL-Verweis (Nothing
in Visual Basic).
Hinweise
Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst. Dies funktioniert für einfache Szenarios gut, aber in einer Serverumgebung kann das erneute Überprüfen eines Workflows bei jeder Aktivierung zu unnötigem Mehraufwand führen.
Weitere Informationen zum Deaktivieren der Validierung finden Sie unter ValidateOnCreate.
Die instanceId
des Workflows muss für alle ausgeführten Workflows, die von WorkflowRuntime geladen werden, jeweils eindeutig sein. Wenn Sie eine instanceId
übergeben, um einen Workflow zu erstellen, und ein ausgeführter Workflow diese instanceId
bereits verwendet, wird eine InvalidOperationException ausgelöst.
Ein Beispiel für das Übergeben von Parametern zu CreateWorkflow
den Parametern finden Sie unter Workflow mit Parameterbeispiel.
Gilt für
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>)
Erstellt eine Workflowinstanz, indem die angegebenen XmlReader-Objekte und die Argumente verwendet werden, die im angegebenen Dictionary<TKey,TValue> enthalten sind.
public:
System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader, System::Xml::XmlReader ^ rulesReader, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader, System.Xml.XmlReader rulesReader, System.Collections.Generic.Dictionary<string,object> namedArgumentValues);
member this.CreateWorkflow : System.Xml.XmlReader * System.Xml.XmlReader * System.Collections.Generic.Dictionary<string, obj> -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader, rulesReader As XmlReader, namedArgumentValues As Dictionary(Of String, Object)) As WorkflowInstance
Parameter
- namedArgumentValues
- Dictionary<String,Object>
Ein Dictionary<TKey,TValue> von Objekten, die durch eine Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.
Gibt zurück
Die erstellte Workflowinstanz.
Ausnahmen
workflowDefinitionReader
ist ein NULL-Verweis (Nothing
in Visual Basic).
WorkflowRuntime wird verworfen.
Hinweise
Die Workflowinstanz wird aus der Workflowdefinition, auf die von XmlReader verwiesen wird, und den unter namedArgumentValues
bereitgestellten Argumenten erstellt.
Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst. Dies funktioniert für einfache Szenarios gut, aber in einer Serverumgebung kann das erneute Überprüfen eines Workflows bei jeder Aktivierung zu unnötigem Mehraufwand führen.
Weitere Informationen zum Deaktivieren der Validierung finden Sie unter ValidateOnCreate.
Ein Beispiel für das Übergeben von Parametern zu CreateWorkflow
den Parametern finden Sie unter Workflow mit Parameterbeispiel.
Ein Beispiel für die Verwendung von Regeln, die in XML definiert sind, finden Sie unter IfElse with Rules Sample.
Gilt für
CreateWorkflow(XmlReader)
Erstellt mit dem angegebenen XmlReader eine Workflowinstanz.
public:
System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(System::Xml::XmlReader ^ workflowDefinitionReader);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (System.Xml.XmlReader workflowDefinitionReader);
member this.CreateWorkflow : System.Xml.XmlReader -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowDefinitionReader As XmlReader) As WorkflowInstance
Parameter
Gibt zurück
Die erstellte Workflowinstanz.
Ausnahmen
workflowDefinitionReader
ist ein NULL-Verweis (Nothing
in Visual Basic).
WorkflowRuntime wird verworfen.
Beispiele
Das folgende Beispiel zeigt, wie Sie mithilfe einer XAML-Workflowdefinition einen Workflow erstellen.
static void Main(string[] args)
{
using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e)
{
waitHandle.Set();
};
workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
{
Console.WriteLine(e.Exception.Message);
waitHandle.Set();
};
TypeProvider typeProvider = new TypeProvider(null);
// Add referenced assemblies, if needed
// typeProvider.AddAssembly(...);
workflowRuntime.AddService(typeProvider);
using (XmlReader reader = XmlReader.Create("Workflow1.xoml"))
{
WorkflowInstance instance = workflowRuntime.CreateWorkflow(reader);
instance.Start();
}
waitHandle.WaitOne();
}
}
Hinweise
Die Workflowinstanz wird aus einer XAML-Workflowdefinitionsdatei erstellt, auf die vom XmlReader verwiesen wird.
Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst. Dies funktioniert für einfache Szenarios gut, aber in einer Serverumgebung kann das erneute Überprüfen eines Workflows bei jeder Aktivierung zu unnötigem Mehraufwand führen.
Weitere Informationen zum Deaktivieren der Validierung finden Sie unter ValidateOnCreate.
Gilt für
CreateWorkflow(Type)
Erstellt mit dem Type des angegebenen Workflows eine neue Workflowinstanz.
public:
System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType);
member this.CreateWorkflow : Type -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type) As WorkflowInstance
Parameter
Gibt zurück
Die erstellte Workflowinstanz.
Ausnahmen
workflowType
ist ein NULL-Verweis (Nothing
in Visual Basic).
Beispiele
Das folgende Codebeispiel zeigt den empfohlenen Ansatz zum Erstellen eines WorkflowInstance-Objekts in einem Workflowhost, indem die CreateWorkflow-Methode verwendet wird.
Dieses Codebeispiel ist Teil des Beispiels zum Abbrechen eines Workflowbeispiels .
Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()
Hinweise
Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst. Dies funktioniert für einfache Szenarios gut, aber in einer Serverumgebung kann das erneute Überprüfen eines Workflows bei jeder Aktivierung zu unnötigem Mehraufwand führen.
Weitere Informationen zum Deaktivieren der Validierung finden Sie unter ValidateOnCreate.
Gilt für
CreateWorkflow(Type, Dictionary<String,Object>)
Erstellt eine Workflowinstanz, indem der angegebene Type des Workflows und seine Argumente verwendet werden, die im angegebenen Dictionary<TKey,TValue> enthalten sind.
public:
System::Workflow::Runtime::WorkflowInstance ^ CreateWorkflow(Type ^ workflowType, System::Collections::Generic::Dictionary<System::String ^, System::Object ^> ^ namedArgumentValues);
public System.Workflow.Runtime.WorkflowInstance CreateWorkflow (Type workflowType, System.Collections.Generic.Dictionary<string,object> namedArgumentValues);
member this.CreateWorkflow : Type * System.Collections.Generic.Dictionary<string, obj> -> System.Workflow.Runtime.WorkflowInstance
Public Function CreateWorkflow (workflowType As Type, namedArgumentValues As Dictionary(Of String, Object)) As WorkflowInstance
Parameter
- namedArgumentValues
- Dictionary<String,Object>
Ein Dictionary<TKey,TValue> von Objekten, die durch die Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.
Gibt zurück
Die erstellte Workflowinstanz.
Ausnahmen
workflowType
ist ein NULL-Verweis (Nothing
in Visual Basic).
Hinweise
Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst. Dies funktioniert für einfache Szenarios gut, aber in einer Serverumgebung kann das erneute Überprüfen eines Workflows bei jeder Aktivierung zu unnötigem Mehraufwand führen.
Weitere Informationen zum Deaktivieren der Validierung finden Sie unter ValidateOnCreate.
Ein Beispiel für das Übergeben von Parametern zu CreateWorkflow
den Parametern finden Sie unter Workflow mit Parameterbeispiel.