WorkflowInstance.Terminate(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以同步方式結束工作流程執行個體。
public:
void Terminate(System::String ^ error);
public void Terminate (string error);
member this.Terminate : string -> unit
Public Sub Terminate (error As String)
參數
- error
- String
結束工作流程執行個體的原因描述。
例外狀況
工作流程執行階段引擎不在執行中。
範例
下列程式碼範例將示範如何呼叫 WorkflowInstance 物件上的 Terminate。
// Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a workflow instance
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow
workflowInstance.Start();
// Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated");
' Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
' Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow
workflowInstance.Start()
' Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated")
備註
工作流程執行個體是以同步方式結束。 主機會呼叫 Terminate 以結束工作流程執行個體。 工作流程執行階段引擎會清除記憶體中的工作流程執行個體,並通知持續性服務已清除記憶體中的執行個體。 對 SqlWorkflowPersistenceService 而言,這表示發生終止時,所有該工作流程執行個體的狀態資訊都會從資料庫中刪除。 您將無法從之前儲存的保存點重新載入工作流程執行個體。
清除記憶體內的工作流程執行個體,而且通知持續性服務已終止執行個體後,Terminate
方法會引發 WorkflowTerminated 事件,並且在包含於 reason
中的 Message 之 WorkflowTerminatedException 屬性中傳遞 WorkflowTerminatedEventArgs。
Terminate
與 Abort 不同,因為 Terminate 會清除記憶體內的工作流程執行個體並通知持續性服務時,Abort
僅清除可以從上次保存點重新啟動之記憶體內的工作流程執行個體。