WorkflowInstance.Abort 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
中止工作流程執行個體。
public:
void Abort();
public void Abort ();
member this.Abort : unit -> unit
Public Sub Abort ()
例外狀況
工作流程執行階段引擎不在執行中。
範例
下列程式碼範例將示範呼叫 Workflow1 類型之工作流程執行個體上的 Abort。
//Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
//Create a workflow instance
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
//Start the instance
instance.Start();
//Abort the instance
instance.Abort();
'Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
'Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
'Start the instance
workflowInstance.Start()
'Abort the instance
workflowInstance.Abort()
備註
工作流程執行個體是以同步方式中止,也就是這個方法會在中止工作流程執行個體後返回。 工作流程執行階段引擎會使記憶體中的工作流程執行個體失效,並且清除 WorkBatch。 如果您的工作流程執行個體使用持續性 (Persistence) 服務,自上次保存點開始執行的所有工作都會被丟棄。 中止工作流程執行個體後,工作流程執行階段引擎會引發 WorkflowAborted 事件。 您可以呼叫 GetWorkflow 以重新載入工作流程執行個體,然後從它的上一個保存點啟動。
Abort
與 Terminate 不同,因為 Abort
僅清除記憶體內的工作流程執行個體,而且可以從上次保存點重新啟動,終止 (Terminate) 會清除記憶體內的工作流程執行個體,並通知持續性服務該執行個體已自記憶體中清除。 對 SqlWorkflowPersistenceService 而言,這表示發生終止時,所有該工作流程執行個體的狀態資訊都會從資料庫中刪除。 您將無法從之前儲存的保存點重新載入工作流程執行個體。