C# 如何处理工作流的终止?

C# 如何处理工作流的终止?,c#,.net,workflow,workflow-foundation,workflow-activity,C#,.net,Workflow,Workflow Foundation,Workflow Activity,我已经实现了一个排队机制,包括用于运行特定类型工作流的UI(WF 3.5),其中我希望包括用户取消/终止工作流的可能性。终止不必是同步的,它足以显示取消正在进行,并让他稍后刷新状态 到目前为止,我已经设法简单地使用工作流实例的函数Terminate()来终止工作流,它可以完美甚至同步地工作,但它似乎没有给工作流任何机会对终止做出反应。我试过的是: 在工作流级别创建取消处理程序,但未执行此操作 在工作流级别创建故障处理程序,故障类型为WorkflowTerminatedException。这也没有

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

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

  • 在工作流级别创建取消处理程序,但未执行此操作
  • 在工作流级别创建故障处理程序,故障类型为WorkflowTerminatedException。这也没有执行
  • 基本上,终止似乎意味着不管工作流当前正在做什么,都要立即终止它。有没有办法:

    • 是否以任何其他方式处理终止(使用Terminate()函数)?(可能是我错过的一些设置)
    • 从外部取消工作流,以便执行其取消处理程序或故障处理程序,使其有机会进行清理等

    奇怪的是,今天早些时候我在想这个问题


    也许你会发现这个链接很有用:因为它讨论了一种可能的方法。

    谢谢!这比我预想的要复杂一点,但这篇文章似乎很有帮助;)