WorkflowRuntime::CreateWorkflow Method (XmlReader^, XmlReader^, Dictionary<String^, Object^>^, Guid)
Creates a workflow instance by using the specified parameters.
Assembly: System.Workflow.Runtime (in System.Workflow.Runtime.dll)
public:
WorkflowInstance^ CreateWorkflow(
XmlReader^ workflowDefinitionReader,
XmlReader^ rulesReader,
Dictionary<String^, Object^>^ namedArgumentValues,
Guid instanceId
)
Parameters
- workflowDefinitionReader
-
Type:
System.Xml::XmlReader^
An XmlReader that contains the workflow definition.
- rulesReader
-
Type:
System.Xml::XmlReader^
An XmlReader.
- namedArgumentValues
-
Type:
System.Collections.Generic::Dictionary<String^, Object^>^
A Dictionary<TKey, TValue> of objects keyed by a string that represents the arguments to the workflow.
- instanceId
-
Type:
System::Guid
The Guid of the specific WorkflowInstance to create.
| Exception | Condition |
|---|---|
| ArgumentNullException | 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.
Available since 3.0