2010-04-20 48 views
2

我正在尋找使用WF 4替換現有的工作流程解決方案。目前在現有工作流引擎中使用的一個功能是取消當前活動並回送到FlowSwitch類型活動的功能。觸發工作流程內的特定活動

因此,考慮到以下原始工作流程,我們從'O'開始並基於輸入數據,工作流遵循'A2'的路徑,該路徑當前在等待輸入的書籤上阻塞。

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

然而在此期間,一些帶外數據的進來,這意味着我們應該取消「A2」,並返回到FlowSwitch重新評估基礎上,新的數據。問題是處理帶外數據的最佳方式是什麼?

我最初的猜測是有一個並行活動,其中一個分支等待帶外數據,另一個分支包含上述工作流程序列。如果數據來自等待帶外數據的佈告,我將如何取消工作流中的當前活動並強制它返回到FlowSwitch。或者當然有更好的方法來處理這個問題。

我還沒有爲WF3做過任何與WF4有關的工作,所以我可能會在這裏丟失一些明顯的東西。

回答

1

您可以使用拾取活動而不是平行進行此操作。這將讓您等待多個事件,並且首先發生的是執行的分支。接下來,您可以循環回頂部,並在需要時再次開始收聽。

+0

嘿,莫里斯,謝謝。只是爲了確定我已經明白了。我會選擇兩個挑選分支,一個等待ad-hoc事件,另一個挑選分支託管整個工作流程,如上所述?因此,FlowSwitch - > PickActivity - >返回流量切換,以及託管兩個分支的PickActivity。哇,我很努力地把這個話放在文字:) – 2010-04-21 09:11:04

+0

或者你是說你的每一個活動A1,A2,A3應該在PickActivity一個brach的特設事件和另一個預期的工作? – 2010-04-21 09:21:12

+0

==>你是說每個活動A1,A2,A3都應該在PickActivity中用於臨時事件,另一個用於預期的工作?是和低於你決定要做什麼,或者在主要活動之後繼續,或者在特別活動之後循環。 – Maurice 2010-04-21 10:59:42