正常情况下,工作流结束工作后会触发事件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事件