1. 程式人生 > >WF4.0 工作流的結束,終止,異常

WF4.0 工作流的結束,終止,異常

正常情況下,工作流結束工作後會觸發事件Completed,如果我們向Completed委託方法,那麼就可以從WorkflowApplicationCompletedEventArgs 引數的ActivityInstanceState CompletionState 屬性中取得工作流的狀態顯示為 Closed (程式執行中是Executing

(一)

工作流被取消 :【Canceled】

可能導致的原因:

(1)執行過程中呼叫Canceled方法

(2)工作流丟擲異常時,指定UnhandledExceptionAction.Canceled

(二)

工作流發生問題 :【faulted】

(1)執行過程中呼叫Terminate方法

(2)工作流丟擲異常時,指定UnhandledExceptionAction.Terminate

(3)產生異常時沒有指定WorkflowApplication.OnUnhandledException(沒有指定為Aborted)

(4)由工作流中TerminateWorkflow型別的Activity觸發

(三)

工作流被終止:呼叫Aborted事件

被終止的工作流無法取得ActivityInstanceState CompletionState 屬性值

※ 被終止的工作流即時結束,不回再觸發Completed事件,而是觸發Aborted事件

※ 其他的狀態下都會觸發Completed事件