触发工作流程中的临时活动

时间:2010-04-20 21:47:53

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

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

因此,考虑到以下原始工作流程,我们从“O”开始并以输入数据为基础,工作流程遵循“A2”路径,该路径当前正在阻止等待输入的书签。

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

然而,与此同时,一些带外数据出现意味着我们应该取消'A2'并返回FlowSwitch以根据新数据重新评估。问题是处理带外数据的最佳方法是什么?

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

对于WF3,我实际上没有为WF3做过任何工作,所以我可能会遗漏一些明显的东西。

1 个答案:

答案 0 :(得分:1)

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