wcf - WF4 调用 WCF 服务

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

我在尝试让工作流 (WF4) 调用长时间运行的 WCF 服务然后在 WCF 服务完成时恢复处理时遇到问题。下图大致概述了我要实现的目标。如果您能指出任何证明这种情况(或非常相似的情况)的示例,我们将不胜感激。有关信息,我看过很多 WF 到 WF 示例,但这些示例并没有真正帮助。

enter image description here

最佳答案

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

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

更新

是否将关联 token 写入回调消息?

更新

抱歉,我没有示例,因为我不是 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

关于wcf - WF4 调用 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8802683/

相关文章:

wcf - 我应该如何使用 VS 2010 与 VS 2008 处理 WCF 服务中 "Specified"字段的差异?

c++ - 在 MSMQ 消息中发送具有 BSTR 值类型的 COM 对象

c++ - 应用 Microsoft 更新后,MSMQ 在 MQOpenQueue 上抛出异常

linux - 在 Linux 或非 Windows 平台上安装 MSMQ?

c# - 在 XML 查询中显式定义数据类型,以便 SSRS 从 WCF 服务识别

c# - 找不到 Entity Framework 提供程序...具有不变名称 'System.Data.SqlClient'

WCF SOAP 服务对于大型请求返回 Not Found,对于较小的请求工作正常

visual-studio - 在工作流设计器中从 VB 切换到 C#

wcf - WF4 服务和 WIF 集成

c# - Windows 工作流中的状态、事件和操作有什么区别