WF4调用WCF服务

WF4调用WCF服务,wcf,workflow-foundation-4,msmq,duplex,msmq-wcf,Wcf,Workflow Foundation 4,Msmq,Duplex,Msmq Wcf,我在尝试让工作流(WF4)调用长时间运行的WCF服务,然后在WCF服务完成后恢复处理时遇到问题。下面的图表给出了我试图实现的目标的大致轮廓。如果您能为我指出任何演示此场景(或类似场景)的示例,我将不胜感激。关于信息,我已经看到了大量的WF到WF的例子,它们并没有真正的帮助 你考虑过相关性吗?这是WF4为您处理的吗?在WF3中,这不是现成的。这意味着,如果您从长期运行的服务中发送请求,WF3将不知道将响应消息路由到哪个工作流实例 如果没有相关性,来自WCF的回调将不会路由到“正在等待”的工作流实例

我在尝试让工作流(WF4)调用长时间运行的WCF服务,然后在WCF服务完成后恢复处理时遇到问题。下面的图表给出了我试图实现的目标的大致轮廓。如果您能为我指出任何演示此场景(或类似场景)的示例,我将不胜感激。关于信息,我已经看到了大量的WF到WF的例子,它们并没有真正的帮助


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

如果没有相关性,来自WCF的回调将不会路由到“正在等待”的工作流实例

更新

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

更新

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

但WF4使您能够在每个基于发送和接收的活动上初始化和跟踪相关性。您可以在此处阅读:


使用WCF工作流或自定义活动扩展?您好,我们正在尝试从WFSH(工作流服务主机)中托管的工作流调用常规WCF服务。您好,我们正在尝试在CorrelationScope容器中使用Send+ReceiverReply发送消息活动。我们希望CorrelationScope容器活动将路由响应消息。请使用另一种可能性更新我的答案。看起来他们现在在WF4中提供了相关的请求-响应通信。嗨,休,你有没有将相关令牌写入回调消息的例子?在WCF服务中,我只是使用OperationContext.Current.GetCallbackChannel()抱歉,我没有任何示例,因为我从未使用过它。但听起来这并不是WF4中“发生”的事情。您需要启用它。我已经用一些链接更新了我的答案。希望他们能帮助你。PS喜欢你的图表-你用了什么软件包?