【问题标题】:Trigger ad-hoc activity within a workflow在工作流中触发临时活动
【发布时间】:2010-04-20 21:47:53
【问题描述】:

我希望使用 WF 4 来替换我们现有的工作流程解决方案。当前在现有工作流引擎中使用的一项功能是能够取消当前活动并回送至 FlowSwitch 类型的活动。

因此,鉴于以下粗略的工作流程,我们从“O”开始并以输入数据为基础,工作流程遵循“A2”的路径,该路径当前阻塞在等待输入的书签上。

         ---------A1--\
         |             \ 
        /\              \
O-------  ---->--(A2)-------|
     ^  \/              /   |
     |   |             /    |
     |   ---------A3--/     |
     |                      |  
     |----------------------|

但是与此同时,一些带外数据进入,这意味着我们应该取消“A2”并返回 FlowSwitch 以根据新数据重新评估。问题是处理到达的带外数据的最佳方法是什么?

我最初的猜测是有一个并行活动,其中一个分支等待带外数据,另一个分支包含上述工作流序列。如果数据进入分支等待带外数据,我将如何取消工作流中的当前活动并强制它返回到 FlowSwitch。或者当然有更好的方法来处理这个问题。

我实际上并没有对 WF3 的 WF4 东西做任何工作,所以我可能在这里遗漏了一些明显的东西。

【问题讨论】:

    标签: .net workflow-foundation workflow-foundation-4


    【解决方案1】:

    您可以通过选择活动而不是并行活动来做到这一点。这将让您等待多个事件,第一个发生的是执行的分支。接下来,您可以循环回到顶部并在需要时再次开始收听

    【讨论】:

    • 嘿莫里斯,谢谢。只是为了确定我已经理解了。我将有一个带有两个选择分支的选择活动,一个等待临时事件,另一个选择分支托管整个工作流程,如上所述?所以 FlowSwitch -> PickActivity -> Back to flow switch,以及托管两个分支的 PickActivity。哇,我很难用语言表达:)
    • 或者您是说每个活动 A1、A2、A3 都应该在 PickActivity 中,一个用于临时活动,另一个用于预期工作?
    • ==> 你是说每个活动 A1、A2、A3 都应该在 PickActivity 中,一个用于临时活动,另一个用于预期工作?是的,在下面你决定做什么,要么在主要活动之后继续,要么在临时活动之后循环回来。
    • 谢谢!我将对此进行更详细的研究。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2022-12-18
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    相关资源
    最近更新 更多