我有一个名为myPrivateTransactionQueue的事务性队列,托管在名为myReceivingServer的Win2008R2服务器上,该服务器应该从另一个名为mySendingServer的服务器接收消息。当mySendingServer发送消息时,mySendingServer上的MSMQ日志中会出现一条条目:
Message with ID {f748cc48-8017-4a64-9ff6-61c68564445f}\56008 was sent to queue DIRECT=OS:<myReceivingServerName >\private$\<myPrivateTransactionalQueue>
但是,myReceivingServer,在MSMQ日志中只有一个条目:
Message came over network
但是,消息未在myReceivingServer上传递给myPrivateTransactionalQueue。到目前为止我看过的事情:
我在这里有点心理,因为我根本无法解释这个消息。任何帮助将不胜感激。
修改:我找到了这个链接http://blogs.msdn.com/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx,所以我会看看这是否解释了我的问题。将以任何决议回复。
Edit2:好的,我讨厌这个,但问题只是解决了问题。我在上面的配置中没有改变任何东西。但我现在有了它的工作。
编辑3:这是John Breakwell的评论:为了确保您在再次看到此问题时知道根本原因(并且没有理由相信它已经好转),您需要启用一些选项,例如否定我的博客中提到的源日记。现在您知道您的系统没有弹性,现在是修复它的好时机
答案 0 :(得分:7)
好吧我有完全相同的问题,它要么解决了,原因有两个。我更新了我发送的消息中引用的计算机名称(以前它是我主机中的别名),或者可能只是我在接收服务器上启用了对每个人/匿名者的完全控制并重新启动了计算机。
答案 1 :(得分:1)
检查发件人死信队列以获取线索。
就我而言,在检查发件人死信队列后,我能够确定这是一个权限问题。
当队列未经身份验证时,仅授予“所有人”权限是不够的,但“anonymouns登录”也必须至少具有发送权限。