我们计划使用 WCF 路由服务。
假设我们有两个队列(q1,q2),路由服务从 q1 中提取消息,将其转发给请求-回复服务,一旦路由服务收到响应,它会再次将其转发给 q2。
我们现在被困在如何将响应转发到另一个队列上,这是 WCF RoutingService 中可能的用例吗?
提前感谢您的帮助。
我们计划使用 WCF 路由服务。
假设我们有两个队列(q1,q2),路由服务从 q1 中提取消息,将其转发给请求-回复服务,一旦路由服务收到响应,它会再次将其转发给 q2。
我们现在被困在如何将响应转发到另一个队列上,这是 WCF RoutingService 中可能的用例吗?
提前感谢您的帮助。
路由服务使用 MessageFilter 定义来定义消息交换的特定属性,例如地址、端点名称,甚至是基于内容的完整路由的特定 XPath 语句。
以下 MSDN 链接提供了路由服务消息过滤器定义的全面概述:http:
//msdn.microsoft.com/en-us/library/ee517424.aspx
如果我理解正确,则无法实现您想要做的事情。
路由器可以接收消息 A 并将其转发到请求回复服务,称为服务 B。它还可以接收来自服务 B 的响应,然后将响应作为异步消息转发给服务 C。
但是,路由器无法根据来自服务 B 的响应内容向服务 C 发送消息 A,因为此时来自服务 B(而不是消息 A)的响应将是当前正在处理的消息。
我理解正确吗?
我开始探索IOperationInvoker在实际调用之前拦截操作
我有一个类似的场景要处理,任何关于你如何解决问题的指针都将受到高度赞赏。
最好的选择是“RoutingService”不是一个密封的类——这样,我们可以创建自己的服务并实现我们想要的合同并覆盖操作。