WF4呼叫WCF服务

时间:2012-01-10 11:39:22

标签: wcf workflow-foundation-4 msmq duplex msmq-wcf

我在尝试获取工作流(WF4)以调用长时间运行的WCF服务时遇到问题,然后在WCF服务完成时恢复处理。下图简要概述了我想要实现的目标。如果你能指出我展示这种情况的任何样本(或非常类似的东西),我将不胜感激。有关信息,我已经看到很多WF到WF的例子并没有真正帮助。

enter image description here

1 个答案:

答案 0 :(得分:0)

您是否考虑过相关性?这是由WF4为您处理的吗?在WF3中,这不是开箱即用的。这意味着如果您从长时间运行的服务中发送请求,WF3将不知道将响应消息路由到哪个工作流实例。

如果没有相关性,WCF的回调将不会被路由到"等待"工作流实例。

<强>更新

您是否正在将相关令牌写入回调消息?

更新

抱歉,我没有例子,因为我不是WF4用户。我必须实现与WF3的相关性,因为它没有提供该功能。为此,我创建了一个查找服务,它将相关值映射到工作流实例guid,然后入站调用可以通过wsHttpContextBinding定位特定实例。

但是WF4使您能够初始化并遵循每个基于发送和接收的活动的相关性。你可以在这里阅读:

http://blogs.msdn.com/b/endpoint/archive/2010/01/04/what-s-a-correlation-and-why-do-i-want-to-initialize-it.aspx

http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx