如何在单个工作流服务(WF4)中定义多个Receive活动

时间:2010-03-01 15:52:01

标签: workflow-foundation workflow-foundation-4

我有一个工作流服务(在.xamlx文件中声明定义),当前包含一个Recieve活动。您可能知道,服务通常会暴露多个操作。 这也是我想用我的服务做的事情。如何为此服务添加更多操作?没有WF,那真的很容易。只需添加任意数量的方法,然后使用OperationContract进行装饰。然后,客户端可以调用服务提供的任何操作。另一方面,在WF4中,当我尝试向服务添加另一个Recieve活动时,我只能在现有活动之前或之后添加它。我以为我可能会使用Pick活动来实现这个目标,但我只是在猜测。这是我怎么做的?或者我应该添加另一个工作流服务并将Receive活动添加到它? (听起来不是一个好的解决方案)。或者也许有正确的方法来实现这个目标?

P.S 你可以说,我对WF一般都是新手,特别是WF4。

谢谢, 阿维

1 个答案:

答案 0 :(得分:11)

在工作流程开始时只有一个Receive活动并不罕见,毕竟通常只有一个事件可以启动工作流程。一旦启动,它可以等待其他消息到达。但是,没有理由不让工作流同时监听多个不同的内容,正如您所提到的,Pick活动是可行的方法。只需在设计图面上放置一个Pick,添加尽可能多的PickBrache和Receive活动,你就可以了。