2010-10-07 54 views
2

我正在尝试使用WF4和AppFabric来执行单个实例工作流程。我只需要在集群中运行一个工作流实例。使用WF 4和AppFabric的群集中的单个实例

我尝试过biztalk风格:创建实例的方法(CallService()),以及没有检查cancreateinstance的其他接收活动(CallService())中的相同方法。 (我想我可以通过xpath将它关联到soap消息中的动作,但是让我们忘记在这一步中关联)。

我的问题是,WF总是创建实例,并没有在第二次调用中关联。

你知道如何解决它吗?我想优先考虑创建实例的相关性。任何其他方式来做到这一点?

在此先感谢。

回答

1

我找到了解决方案。以下是我写的内容: http://pablocastilla.wordpress.com/2010/10/09/single-instance-of-a-workflow-in-the-cluster-with-wf-4-0-and-appfabric/

我们如何才能接收具有相同实例的消息?很容易在接收形状中制作一个小技巧:

  1. 我们创建一个关联处理程序。我们称之为singleIntanceHandler
  2. 在接收形状中设置CorrelatesWith属性与singleInstanceHandler。
  3. 在CorrelatesOn定义中,您应该插入一个字符串,而不是一个xpath表达式。例如:“asdf”。
  4. 将相关初始值设定项与响应的句柄保持一致。

据我了解创建实例initializating与“ASDF”,它收到一个消息,下一次的相关性在第一时间,AppFabric的长相,如果有一个实例,他可以用字符串“ASDF”相关,并在第一次调用中找到一个初始化。

+0

感谢您节省我的一天! – ieaglle 2013-01-06 18:11:21