WorkflowRuntime.CreateWorkflow Method (XmlReader, XmlReader, Dictionary<String, Object>, Guid)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Creates a workflow instance by using the specified parameters.

Namespace:   System.Workflow.Runtime
Assembly:  System.Workflow.Runtime (in System.Workflow.Runtime.dll)

public WorkflowInstance CreateWorkflow(
	XmlReader workflowDefinitionReader,
	XmlReader rulesReader,
	Dictionary<string, object> namedArgumentValues,
	Guid instanceId


Type: System.Xml.XmlReader

An XmlReader that contains the workflow definition.

Type: System.Xml.XmlReader

An XmlReader.

Type: System.Collections.Generic.Dictionary<String, Object>

A Dictionary<TKey, TValue> of objects keyed by a string that represents the arguments to the workflow.

Type: System.Guid

The Guid of the specific WorkflowInstance to create.

Return Value

Type: System.Workflow.Runtime.WorkflowInstance

The created workflow instance.

Exception Condition

workflowType is a null reference (Nothing in Visual Basic).

Before the WorkflowInstance is created, validation is executed on it. If any validation errors occur, the WorkflowValidationFailedException is thrown. This works well for simple scenarios, but in a server environment, revalidating a workflow for every activation might be unnecessary overhead.

For more information about disabling validation, see ValidateOnCreate.

The workflow instanceId for any running workflows loaded by the WorkflowRuntime must be unique. If you pass an instanceId to create a workflow and a running workflow is already using that instanceId, an InvalidOperationException is thrown.

For an example of passing in parameters to CreateWorkflow, see Workflow with Parameters Sample.

For an example of using rules defined in XML, see IfElse with Rules Sample.

.NET Framework
Available since 3.0
Return to top