从多个客户端到MSMQ服务器的请求/响应的最佳实践

时间:2017-03-13 15:04:13

标签: .net msmq

我想创建一个应用程序,其中多个客户端(比如C1,C2,C3)将通过MSMQ向服务器发送请求(比如S1),然后等待服务器通过MSMQ发送的响应。

服务器将异步处理收到的请求。

从我到目前为止所读到的,最强大的MSMQ配置是"发送远程/接收本地",这意味着请求队列应该位于服务器S1上,并且应该是每个客户端(C1,C2,C3)的单独响应队列。

这给我带来了与服务器通信的问题,每个请求应该向其发送相应响应的队列。

我似乎可以通过让每个客户端将Message.ResponseQueue设置为用于接收响应的本地队列的实例来实现此目的。

当我这样做时,据我所知(条件是我只在同一台机器上测试了客户端和服务器),Message.ResponseQueue正如预期的那样设置为合适的服务器收到邮件时的MessageQueue实例。

我的问题是服务器无法使用该实例,因为它将异步处理请求而不会在稍后返回响应。

以下是合理的方法:

  • 从服务器收到的消息中提取Message.ResponseQueue.Path并存储它。
  • 在返回响应时使用此路径创建新的MessageQueue实例。

如果是,我是否需要处理MessageQueue引用的Message.ResponseQueue实例?

0 个答案:

没有答案
相关问题