WorkflowRuntime.CreateWorkflow Methode

Definition

Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.Creates a workflow instance by using the specified parameters.

Überlädt

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)

Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.Creates a workflow instance by using the specified parameters.

CreateWorkflow(Type, Dictionary<String,Object>, Guid)

Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.Creates a workflow instance by using the specified parameters.

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.Creates a workflow instance by using the specified XmlReader objects and the arguments contained in the specified Dictionary<TKey,TValue>.

CreateWorkflow(XmlReader)

Erstellt mit dem angegebenen XmlReader eine Workflowinstanz.Creates a workflow instance by using the specified XmlReader.

CreateWorkflow(Type)

Erstellt mit dem Type des angegebenen Workflows eine neue Workflowinstanz.Creates a new workflow instance by using the specified workflow Type.

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.Creates a workflow instance by using the specified workflow Type and the arguments to the workflow contained in the specified Dictionary<TKey,TValue>.

Hinweise

Wenn die Workflowruntime-Engine nicht gestartet wurde, rufen die CreateWorkflow-Methoden StartRuntime auf.If the workflow run-time engine has not been started, the CreateWorkflow methods call StartRuntime. Eine Liste mit möglichen Ausnahmen finden Sie unter StartRuntime.See StartRuntime for a list of possible exceptions. 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.After you create the workflow instance, call WorkflowInstance.Start on the WorkflowInstance object returned by the CreateWorkflow method to begin its execution.

CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)

Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.Creates a workflow instance by using the specified parameters.

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

workflowDefinitionReader
XmlReader

XmlReader, der die Workflowdefinition enthält.An XmlReader that contains the workflow definition.

rulesReader
XmlReader

Eine XmlReader.An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Ein Dictionary<TKey,TValue> von Objekten, die durch eine Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

instanceId
Guid

Die Guid der jeweils zu erstellenden WorkflowInstance.The Guid of the specific WorkflowInstance to create.

Gibt zurück

Die erstellte Workflowinstanz.The created workflow instance.

Ausnahmen

workflowType ist ein NULL-Verweis (Nothing in Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Hinweise

Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt.Before the WorkflowInstance is created, validation is executed on it. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst.If any validation errors occur, the WorkflowValidationFailedException is thrown. 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.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Weitere Informationen zum Deaktivieren der Validierung finden ValidateOnCreateSie unter.For more information about disabling validation, see ValidateOnCreate.

Die instanceId des Workflows muss für alle ausgeführten Workflows, die von WorkflowRuntime geladen werden, jeweils eindeutig sein.The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. Wenn Sie eine instanceId übergeben, um einen Workflow zu erstellen, und ein ausgeführter Workflow diese instanceId bereits verwendet, wird eine InvalidOperationException ausgelöst.If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

Ein Beispiel für die Übergabe von Parametern CreateWorkflowan finden Sie unter Beispiel für Workflow mit Parametern.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Ein Beispiel für die Verwendung von Regeln, die in XML definiert sind, finden Sie unter Beispiel für IfElse mit Regeln.For an example of using rules defined in XML, see IfElse with Rules Sample.

CreateWorkflow(Type, Dictionary<String,Object>, Guid)

Erstellt durch das Verwenden der angegebenen Parameter eine Workflowinstanz.Creates a workflow instance by using the specified parameters.

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

workflowType
Type

Der Type des zu erstellenden Workflows.The Type of the workflow to create.

namedArgumentValues
Dictionary<String,Object>

Ein Dictionary<TKey,TValue> von Objekten, die durch eine Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

instanceId
Guid

Die Guid der jeweils zu erstellenden WorkflowInstance.The Guid of the specific WorkflowInstance to create.

Gibt zurück

Die erstellte Workflowinstanz.The created workflow instance.

Ausnahmen

workflowType ist ein NULL-Verweis (Nothing in Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Hinweise

Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt.Before the WorkflowInstance is created, validation is executed on it. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst.If any validation errors occur, the WorkflowValidationFailedException is thrown. 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.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Weitere Informationen zum Deaktivieren der Validierung finden ValidateOnCreateSie unter.For more information about disabling validation, see ValidateOnCreate.

Die instanceId des Workflows muss für alle ausgeführten Workflows, die von WorkflowRuntime geladen werden, jeweils eindeutig sein.The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. Wenn Sie eine instanceId übergeben, um einen Workflow zu erstellen, und ein ausgeführter Workflow diese instanceId bereits verwendet, wird eine InvalidOperationException ausgelöst.If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

Ein Beispiel für die Übergabe von Parametern CreateWorkflowan finden Sie unter Beispiel für Workflow mit Parametern.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

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.Creates a workflow instance by using the specified XmlReader objects and the arguments contained in the specified Dictionary<TKey,TValue>.

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

workflowDefinitionReader
XmlReader

XmlReader, der die Workflowdefinition enthält.An XmlReader that contains the workflow definition.

rulesReader
XmlReader

Eine XmlReader.An XmlReader.

namedArgumentValues
Dictionary<String,Object>

Ein Dictionary<TKey,TValue> von Objekten, die durch eine Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.A Dictionary<TKey,TValue> of objects keyed by a string that represents the arguments to the workflow.

Gibt zurück

Die erstellte Workflowinstanz.The created workflow instance.

Ausnahmen

workflowDefinitionReader ist ein NULL-Verweis (Nothing in Visual Basic).workflowDefinitionReader is a null reference (Nothing in Visual Basic).

WorkflowRuntime wird verworfen.The WorkflowRuntime is disposed.

Hinweise

Die Workflowinstanz wird aus der Workflowdefinition, auf die von XmlReader verwiesen wird, und den unter namedArgumentValues bereitgestellten Argumenten erstellt.The workflow instance is created from the workflow definition referenced by the XmlReader and the arguments supplied by namedArgumentValues.

Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt.Before the WorkflowInstance is created, validation is executed on it. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst.If any validation errors occur, the WorkflowValidationFailedException is thrown. 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.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Weitere Informationen zum Deaktivieren der Validierung finden ValidateOnCreateSie unter.For more information about disabling validation, see ValidateOnCreate.

Ein Beispiel für die Übergabe von Parametern CreateWorkflowan finden Sie unter Beispiel für Workflow mit Parametern.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Ein Beispiel für die Verwendung von Regeln, die in XML definiert sind, finden Sie unter Beispiel für IfElse mit Regeln.For an example of using rules defined in XML, see IfElse with Rules Sample.

CreateWorkflow(XmlReader)

Erstellt mit dem angegebenen XmlReader eine Workflowinstanz.Creates a workflow instance by using the specified XmlReader.

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

workflowDefinitionReader
XmlReader

XmlReader, der die Workflowdefinition enthält.An XmlReader that contains the workflow definition.

Gibt zurück

Die erstellte Workflowinstanz.The created workflow instance.

Ausnahmen

workflowDefinitionReader ist ein NULL-Verweis (Nothing in Visual Basic).workflowDefinitionReader is a null reference (Nothing in Visual Basic).

WorkflowRuntime wird verworfen.The WorkflowRuntime is disposed.

Beispiele

Das folgende Beispiel zeigt, wie Sie mithilfe einer XAML-Workflowdefinition einen Workflow erstellen.The following example demonstrates how to create a workflow given a XAML-based workflow definition.

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.The workflow instance is created from a XAML workflow definition file referenced by the XmlReader.

Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt.Before the WorkflowInstance is created, validation is executed on it. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst.If any validation errors occur, the WorkflowValidationFailedException is thrown. 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.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Weitere Informationen zum Deaktivieren der Validierung finden ValidateOnCreateSie unter.For more information about disabling validation, see ValidateOnCreate.

CreateWorkflow(Type)

Erstellt mit dem Type des angegebenen Workflows eine neue Workflowinstanz.Creates a new workflow instance by using the specified workflow Type.

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

workflowType
Type

Der Type des zu erstellenden Workflows.The Type of the workflow to create.

Gibt zurück

Die erstellte Workflowinstanz.The created workflow instance.

Ausnahmen

workflowType ist ein NULL-Verweis (Nothing in Visual Basic).workflowType is a null reference (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.The following code example demonstrates the recommended way to create a WorkflowInstance object in a workflow host using the CreateWorkflow method.

Dieses Codebeispiel ist Teil des Beispiels für das Abbrechen eines Workflows .This code example is part of the Canceling a Workflow sample.

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.Before the WorkflowInstance is created, validation is executed on it. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst.If any validation errors occur, the WorkflowValidationFailedException is thrown. 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.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Weitere Informationen zum Deaktivieren der Validierung finden ValidateOnCreateSie unter.For more information about disabling validation, see ValidateOnCreate.

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.Creates a workflow instance by using the specified workflow Type and the arguments to the workflow contained in the specified Dictionary<TKey,TValue>.

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

workflowType
Type

Der Type des zu erstellenden Workflows.The Type of the workflow to create.

namedArgumentValues
Dictionary<String,Object>

Ein Dictionary<TKey,TValue> von Objekten, die durch die Zeichenfolge schlüsselgebunden sind, die die Argumente des Workflows darstellt.A Dictionary<TKey,TValue> of objects keyed by string that represents the arguments to the workflow.

Gibt zurück

Die erstellte Workflowinstanz.The created workflow instance.

Ausnahmen

workflowType ist ein NULL-Verweis (Nothing in Visual Basic).workflowType is a null reference (Nothing in Visual Basic).

Hinweise

Bevor die WorkflowInstance erstellt wird, wird dafür die Validierung ausgeführt.Before the WorkflowInstance is created, validation is executed on it. Falls Validierungsfehler auftreten, wird die WorkflowValidationFailedException ausgelöst.If any validation errors occur, the WorkflowValidationFailedException is thrown. 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.This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

Weitere Informationen zum Deaktivieren der Validierung finden ValidateOnCreateSie unter.For more information about disabling validation, see ValidateOnCreate.

Ein Beispiel für die Übergabe von Parametern CreateWorkflowan finden Sie unter Beispiel für Workflow mit Parametern.For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

Gilt für: