如何处理工作流程的终止?

时间:2010-01-13 16:07:14

标签: c# .net workflow workflow-foundation workflow-activity

我已经实现了一个排队机制,包括用于运行特定类型工作流的UI(WF 3.5),我想在其中包含用户取消/终止工作流的可能性。终止不必是同步的,这足以表明取消正在进行中并让他稍后刷新状态。

到目前为止,我已经设法简单地使用工作流实例的功能终止()来终止工作流程,工作流程完美甚至同步,但似乎它没有给工作流程任何机会对终止做出反应。我试过的是:

  1. 在工作流程级别创建取消处理程序,但未执行此操作。
  2. 在工作流级别创建一个Fault处理程序,其错误类型为 WorkflowTerminatedException 。这也没有被执行。
  3. 基本上,终止意味着无论目前正在做什么,都会立即杀死工作流程。有办法:

    • 以任何其他方式处理终止(使用Terminate()函数)? (也许是我错过的一些设置)
    • 从外部取消工作流程,以便执行取消处理程序或错误处理程序,让它有机会整理等等?

1 个答案:

答案 0 :(得分:2)

奇怪的是,我今天早些时候正在思考这个问题。

也许你觉得这个链接很有用:Stopping a build > Cancelling a workflow正在谈论可能的方法。