WorkflowRuntime.CreateWorkflow 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的參數建立工作流程執行個體。
多載
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid) |
使用指定的參數建立工作流程執行個體。 |
CreateWorkflow(Type, Dictionary<String,Object>, Guid) |
使用指定的參數建立工作流程執行個體。 |
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>) |
使用指定的 XmlReader 物件和包含在指定之 Dictionary<TKey,TValue> 中的引數建立工作流程執行個體。 |
CreateWorkflow(XmlReader) |
使用指定的 XmlReader 建立工作流程執行個體。 |
CreateWorkflow(Type) |
使用指定的工作流程 Type 建立新的工作流程執行個體。 |
CreateWorkflow(Type, Dictionary<String,Object>) |
使用指定的工作流程 Type 和指定之 Dictionary<TKey,TValue> 中的工作流程之引數來建立工作流程執行個體。 |
備註
如果工作流程執行階段引擎尚未啟動,CreateWorkflow 方法會呼叫 StartRuntime。 如需可能的例外狀況清單,請參閱 StartRuntime。 建立工作流程執行個體後,呼叫 WorkflowInstance.Start 方法傳回之 WorkflowInstance 物件上的 CreateWorkflow 以開始其執行。
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>, Guid)
使用指定的參數建立工作流程執行個體。
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
參數
- namedArgumentValues
- Dictionary<String,Object>
由字串建立索引鍵之物件的 Dictionary<TKey,TValue>,代表工作流程的引數。
- instanceId
- Guid
要建立之特定 Guid 的 WorkflowInstance。
傳回
建立的工作流程執行個體。
例外狀況
workflowType
為 null 參考 (在 Visual Basic 中為 Nothing
)。
備註
建立 WorkflowInstance 之前,系統會針對它執行驗證。 如果發生任何驗證錯誤,就會擲回 WorkflowValidationFailedException。 這對於簡單案例很有用,但是在伺服器環境中,針對每一個啟動過程重新驗證工作流程可能是不必要的額外負荷。
如需停用驗證的詳細資訊,請參閱 ValidateOnCreate 。
instanceId
載入的任何執行中工作流程的工作流程 WorkflowRuntime 必須是唯一的。 如果傳遞 instanceId
以建立工作流程,而且某個執行中的工作流程已在使用該 instanceId
,則會擲回 InvalidOperationException。
如需將參數傳入 的範例,請參閱使用參數 CreateWorkflow
範例的工作流程。
如需使用 XML 中所定義規則的範例,請參閱 IfElse 與規則範例。
適用於
CreateWorkflow(Type, Dictionary<String,Object>, Guid)
使用指定的參數建立工作流程執行個體。
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
參數
- namedArgumentValues
- Dictionary<String,Object>
由字串建立索引鍵之物件的 Dictionary<TKey,TValue>,代表工作流程的引數。
- instanceId
- Guid
要建立之特定 Guid 的 WorkflowInstance。
傳回
建立的工作流程執行個體。
例外狀況
workflowType
為 null 參考 (在 Visual Basic 中為 Nothing
)。
備註
建立 WorkflowInstance 之前,系統會針對它執行驗證。 如果發生任何驗證錯誤,就會擲回 WorkflowValidationFailedException。 這對於簡單案例很有用,但是在伺服器環境中,針對每一個啟動過程重新驗證工作流程可能是不必要的額外負荷。
如需停用驗證的詳細資訊,請參閱 ValidateOnCreate 。
instanceId
載入的任何執行中工作流程的工作流程 WorkflowRuntime 必須是唯一的。 如果傳遞 instanceId
以建立工作流程,而且某個執行中的工作流程已在使用該 instanceId
,則會擲回 InvalidOperationException。
如需將參數傳入 的範例,請參閱使用參數 CreateWorkflow
範例的工作流程。
適用於
CreateWorkflow(XmlReader, XmlReader, Dictionary<String,Object>)
使用指定的 XmlReader 物件和包含在指定之 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
參數
- namedArgumentValues
- Dictionary<String,Object>
由字串建立索引鍵之物件的 Dictionary<TKey,TValue>,代表工作流程的引數。
傳回
建立的工作流程執行個體。
例外狀況
workflowDefinitionReader
為 null 參考 (在 Visual Basic 中為 Nothing
)。
備註
工作流程執行個體是從 XmlReader 參考的工作流程定義和 namedArgumentValues
提供的引數來建立。
建立 WorkflowInstance 之前,系統會針對它執行驗證。 如果發生任何驗證錯誤,就會擲回 WorkflowValidationFailedException。 這對於簡單案例很有用,但是在伺服器環境中,針對每一個啟動過程重新驗證工作流程可能是不必要的額外負荷。
如需停用驗證的詳細資訊,請參閱 ValidateOnCreate 。
如需將參數傳入 的範例,請參閱使用參數 CreateWorkflow
範例的工作流程。
如需使用 XML 中所定義規則的範例,請參閱 IfElse 與規則範例。
適用於
CreateWorkflow(XmlReader)
使用指定的 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
參數
傳回
建立的工作流程執行個體。
例外狀況
workflowDefinitionReader
為 null 參考 (在 Visual Basic 中為 Nothing
)。
範例
下列程式碼範例將示範如何使用指定的 XAML 工作流程定義來建立工作流程。
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();
}
}
備註
工作流程執行個體是從 XmlReader 參考的 XAML 工作流程定義檔建立。
建立 WorkflowInstance 之前,系統會針對它執行驗證。 如果發生任何驗證錯誤,就會擲回 WorkflowValidationFailedException。 這對於簡單案例很有用,但是在伺服器環境中,針對每一個啟動過程重新驗證工作流程可能是不必要的額外負荷。
如需停用驗證的詳細資訊,請參閱 ValidateOnCreate 。
適用於
CreateWorkflow(Type)
使用指定的工作流程 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
參數
傳回
建立的工作流程執行個體。
例外狀況
workflowType
為 null 參考 (在 Visual Basic 中為 Nothing
)。
範例
下列程式碼範例將示範如何在使用 WorkflowInstance 方法的工作流程主機中,以建議的方法建立 CreateWorkflow 物件。
此程式碼範例是 取消工作流程 範例的一部分。
Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()
備註
建立 WorkflowInstance 之前,系統會針對它執行驗證。 如果發生任何驗證錯誤,就會擲回 WorkflowValidationFailedException。 這對於簡單案例很有用,但是在伺服器環境中,針對每一個啟動過程重新驗證工作流程可能是不必要的額外負荷。
如需停用驗證的詳細資訊,請參閱 ValidateOnCreate 。
適用於
CreateWorkflow(Type, Dictionary<String,Object>)
使用指定的工作流程 Type 和指定之 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
參數
- namedArgumentValues
- Dictionary<String,Object>
由字串建立索引鍵之物件的 Dictionary<TKey,TValue>,代表工作流程的引數。
傳回
建立的工作流程執行個體。
例外狀況
workflowType
為 null 參考 (在 Visual Basic 中為 Nothing
)。
備註
建立 WorkflowInstance 之前,系統會針對它執行驗證。 如果發生任何驗證錯誤,就會擲回 WorkflowValidationFailedException。 這對於簡單案例很有用,但是在伺服器環境中,針對每一個啟動過程重新驗證工作流程可能是不必要的額外負荷。
如需停用驗證的詳細資訊,請參閱 ValidateOnCreate 。
如需將參數傳入 的範例,請參閱使用參數 CreateWorkflow
範例的工作流程。