msmq - Rebus 和远程队列

标签 msmq rebus

我正在使用 Rebus ( https://github.com/rebus-org (v.0.83)),直到现在它都在一台机器上本地运行。现在我需要使用从我的网站到应用服务器的远程队列。我不太清楚如何使用 Rebus 进行设置。几个问题

  1. 我想我在两台机器(网络和应用程序)上都需要 MSMQ,对吗?我已将网站配置为 UseMsmqInOneWayClientMode ;
  2. 或者有没有办法指定通过 http 发送?
  3. 我的配置大致是这样的。我猜 inputQUeue 需要指向本地机器而不是远程机器,对吧?

    <rebus inputQueue="mywebqueue" errorQueue="MyErrorQueue@mymachine" workers="1" maxRetries="5"> <endpoints> <add messages="MyLibrary.CreateMessage, MyLibrary" endpoint="MyQueue@mymachine"/> </endpoints> </rebus>

非常感谢您的帮助。

最佳答案

  1. 是的。所有需要以某种方式使用 MSMQ 的机器都需要安装 MSMQ。即使作为单向客户端,例如您的网络服务器,因为 MSMQ 通过在您发送到远程计算机时提供传出队列来实现其高可用性。

  2. 我是这么认为的。除了其基本可靠的消息传递功能外,我从未使用过 MSMQ。 Google 一下,我打赌你能找到一些东西 ;)

  3. 您的配置看起来正确。是的 - 输入队列始终是本地的,而您发送到的队列(错误队列和端点映射中指定的所有端点)也可以是远程的。

关于msmq - Rebus 和远程队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34278539/

相关文章:

c# - SqlConnection 并避免升级到 MSDTC

wcf - MSMQ 到 WCF,实现双向通信

unit-testing - 如何模拟 MSMQ 消息队列

.net - 在 ReBus 中处理消息期间立即执行回复

rebus - 检查正在进行的 rebus 处理程序并阻止 rebus 接受新消息

rebus - 如何在rebus中实现一个简单的回复

c# - WCF MSMQ 毒消息异常

c# - 如何获取 MSMQ 队列中的所有可用消息

c# - Windows 服务启动顺序导致 WCF 服务出现故障状态

nservicebus - Rebus 和分布式工作人员