2012-12-28 28 views
0

如何在WF(4)中重複使用Receive/SendReply? E.g在WF4中重複使用Receive/SendReply

Receive/SendReply (Start) 
Process data 
Decision (data is valid?) 
    True 
    Pick 
     1) Receive/SendReply (Confirm) 
     2) Receive/SendReply (Input data) 
     3) Receive/SendReply (Restart) 
    False 
    Pick 
     1) Receive/SendReply (Input data) 
     2) Receive/SendReply (Restart) 

應該可以調用Input dataRestart在兩個不同的Pick秒。

目前我使用的是WF 4,但我想聽聽4.5是否有更簡單的解決方案。

回答

0

只需創建一個自定義組合活動並將Receive/SendReply對添加到該活動並在多個位置重新使用該自定義活動即可。這是WF4發佈以來的基本重用機制。

+0

如果需要在'PickBranch'的'Action'中的'Trigger'和'SendReply'中放置'Receive',怎麼樣?是否有可能創建可重複使用的'PickBranch'? –

+0

PickBranch活動是密封的,所以你可以在那裏做很多事情。最好的選擇是使用預先配置的Receive創建一個Sequence,使用預配置的SendReply創建另一個。也就是說在很多情況下,您可以使用PickBranch觸發器中的Receive/SendReply對。 – Maurice

0

PickBranch是密封的,所以你不能去x:Class路線。這是一種黑客攻擊,但您可以使用自定義MarkupExtension來實現您的需求。