WorkflowInstance.Terminate(String) 方法

定義

以同步方式結束工作流程執行個體。

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 中的 MessageWorkflowTerminatedException 屬性中傳遞 WorkflowTerminatedEventArgs

TerminateAbort 不同,因為 Terminate 會清除記憶體內的工作流程執行個體並通知持續性服務時,Abort 僅清除可以從上次保存點重新啟動之記憶體內的工作流程執行個體。

適用於