C# WCF路由服务,将响应转发到另一个服务

C# WCF路由服务,将响应转发到另一个服务,c#,.net,wcf,wcf-routing,C#,.net,Wcf,Wcf Routing,我们计划使用WCF路由服务 假设我们有两个队列(q1、q2),路由服务从q1接收消息,将其转发给请求-应答服务,一旦路由服务接收到响应,它将再次转发给q2 我们现在被困在如何将响应转发到另一个队列上,这是WCF RoutingService中的一个可能用例吗 提前感谢您的帮助。路由服务使用MessageFilter定义来定义消息交换的特定属性,例如地址、端点名称,甚至是基于完整内容的路由的特定XPath语句 以下MSDN链接提供路由服务消息筛选器定义的全面概述: 如果我理解正确,就没有办法实现您

我们计划使用WCF路由服务

假设我们有两个队列(q1、q2),路由服务从q1接收消息,将其转发给请求-应答服务,一旦路由服务接收到响应,它将再次转发给q2

我们现在被困在如何将响应转发到另一个队列上,这是WCF RoutingService中的一个可能用例吗


提前感谢您的帮助。

路由服务使用MessageFilter定义来定义消息交换的特定属性,例如地址、端点名称,甚至是基于完整内容的路由的特定XPath语句

以下MSDN链接提供路由服务消息筛选器定义的全面概述:

如果我理解正确,就没有办法实现您想要做的事情

路由器可以接收消息A并将其转发到req应答服务,称之为服务B。它还可以接收来自服务B的响应,然后将响应作为异步消息转发给服务C

然而,路由器无法基于来自服务B的响应内容将消息A发送到服务C,因为此时来自服务B的响应(而不是消息A)将是正在处理的当前消息

我理解正确了吗?

我开始研究如何在实际调用操作之前拦截操作

  • 此时,您可能需要手动建立到其他服务的通道来收集您的信息
  • 难点可能是将消息对象反序列化为调用程序的输入数组的一部分。将对象转换回消息作为输出
  • 处理异步场景
我有一个类似的场景要处理,任何关于你如何解决这个问题的建议都将不胜感激


最好的选择是“RoutingService”不是一个密封的类-这样,我们可以创建自己的服务,实现我们想要的契约并覆盖操作。

那么这对OP解决问题有什么帮助呢?