什么会导致MSMQ将发往本地系统队列的消息放入"传出队列"?

Mik*_*ess 5 msmq

MSMQ维护一种称为"传出队列"的队列.MSMQ服务使用这些队列来保存发往消息时无法联系的服务器的消息.这些是特殊的临时队列,与普通的公共队列和专用队列分开.

我最近遇到过一种情况,其中一些发往本地系统的消息(即生成该消息的同一台计算机)最终出现在"传出队列"之一中.使用管理控制台钻取到传出队列时,可以看到目标具有本地系统和队列的正确路径信息.在此特定方案中,这些"传出队列"中保存的消息永远不会传递到正确的队列.留在那里,实际上已经失去了.

一些发往本地系统队列的消息,包括"传出队列"中列出的相同队列的消息,都可以正常传送.当消息最终出现在"传出队列"中似乎是随机的.那就是:有些人会工作正常,有些则不会.

似乎受此影响的队列都是非交易性的.事务性队列似乎总是接收消息.至少,发送消息的应用程序没有捕获事务队列的异常.

什么会导致MSMQ将发往本地系统队列的消息放入"传出队列"?是MSMQ服务无法联系自己发送消息吗?系统非常繁忙(CPU使用率为80%).这样做时,MSMQ可能会缺乏资源吗?

Cla*_*ein 0

我过去曾见过 MSMQ 与 DNS 相关的问题。尝试将完全限定的 DNS 条目放入 C:\Windows\System32\Drivers\etc\HOSTS 文件中,看看是否有帮助。

不确定为什么您会遇到 DNS 问题,但这可能会有所帮助。