4

我们正在构建一个通用的 WCF 服务,它被两种不同类型的客户端使用,一种将使用普通的双向 http 绑定,而另一种将使用 MSMQ 绑定,因为 MSMQ 绑定意味着我们只能做一个方式消息,根据这种情况,我的问题是

  1. 有什么可能为两个客户使用相同的合同,而合同将具有双向通信的消息。

  2. 有没有办法可以在 MSMQ 上实现双向通信。

  3. 如果 MSMQ 仅用于保证交付怎么办,保证交付的替代方案是什么,服务器和客户端之间可能存在不稳定的连接。

4

1 回答 1

3
  1. 没有可能。您需要两份服务合同——一份用于 MSMQ,一份用于 HTTP。
  2. 不。MSMQ 的两种方式 = 一个队列用于服务,一个队列用于每个客户端,其中客户端公开其自己的 MSMQ 服务以从其队列中读取消息。
  3. 保证交付仅适用于 MSMQ,因为该保证不仅与不稳定的连接有关,还与未运行的服务有关(消息保留在队列中,直到服务启动并运行)。如果您需要处理通过 HTTP 的不稳定连接,您需要 WS-Reliable 消息传递(可用于自定义绑定或wsHttpBinding),但它与保证交付不同,因为它仅在服务器和客户端都在运行时才有效。
于 2011-08-03T10:00:39.800 回答