WorkflowRuntime.CreateWorkflow Method (Type, 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(
	Type workflowType,
	Dictionary<string, object> namedArgumentValues,
	Guid instanceId


Type: System.Type

The Type of the workflow to create.

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.

.NET Framework
Available since 3.0
Return to top