gpt4 book ai didi

c# - 如何从内部取消或终止工作流

转载 作者:行者123 更新时间:2023-11-30 19:46:41 25 4
gpt4 key购买 nike

我有一个在 ftp 站点之间移动文件的工作流程。可能是用户在工作流即将复制文件时从 ftp 站点删除了文件。我可以检测到文件已经消失,所以我想取消即将进行文件传输的工作流。

我使用工厂开始我的工作流程。工厂创建一个帮助程序类 (wfManager),该帮助程序类使用 WorkflowApplication 启动实际工作流。

工作流本身会根据文件是否丢失来确定是否应该关闭。工作流引用了启动它的 wfManager,因此从 wfManager 调用 workflowApplication.close

我原以为如果我使用 wfManager 中的 WorkflowApplication.close,工作流就会关闭。

但是,关闭超时。

什么会导致关闭超时?是否有通用的方法通过代码关闭或终止工作流?

最佳答案

您基本上有 3 个选项来结束工作流程:

  • 取消
    如您所见,这会等待一段时间(因此工作流可以完成当前正在做的任何事情),然后关闭工作流,然后调用 OnCompleted 处理程序
  • 终止
    这需要终止的原因(作为参数),等待一段时间(因此工作流可以完成当前正在做的任何事情),然后关闭工作流,然后调用 OnCompleted 处理程序
  • 中止
    这只会终止工作流,不会调用 OnCompleted 处理程序。

MSDN 引用:

关于c# - 如何从内部取消或终止工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8151356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com