我的计算机已连接到域,但是当我创建公共队列时:
MessageQueue.Create(@".\testqueue");
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
工作组安装计算机不支持该操作.
为什么MSMQ会认为我在工作组计算机上?
我有一个名为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>
Run Code Online (Sandbox Code Playgroud)
但是,myReceivingServer,在MSMQ日志中有一个条目:
Message came over network
Run Code Online (Sandbox Code Playgroud)
但是,该消息未在myReceivingServer上传递给myPrivateTransactionalQueue.到目前为止我看过的事情:
我在这里有点心理,因为我根本无法解释这个消息.任何帮助将非常感激.
编辑:我发现这个链接http://blogs.msdn.com/b/johnbreakwell/archive/2010/01/22/why-does-msmq-keep-losing-my-messages.aspx所以我会看看这是否解释我的问题.将以任何决议回复.
编辑2:好的,我讨厌这个,但问题只是解决了.我在上面的配置中没有改变任何东西.但我现在有了它的工作.
编辑3:这是John Breakwell的评论:为了确保您在再次看到此问题时知道根本原因(并且没有理由相信它已经好转),您需要启用一些选项,例如负面源日记作为在我的博客中提到.现在您知道您的系统没有弹性,现在是修复它的好时机