MessageQueueException(0x80004005):拒绝访问消息队列系统

Don*_*Don 7 msmq nservicebus

我有一个在Windows 2003服务器上运行良好的现有应用程序.我一直在将它移动到Windows 2008r2,当应用程序试图访问队列时,它得到以下错误?我的应用程序池的Indentity用户可以完全控制我的消息队列.有没有人对如何解决这个问题有任何想法.我相信这是服务器配置问题.

[MessageQueueException (0x80004005): Access to Message Queuing system is denied.]
   System.Messaging.MQCacheableInfo.get_ReadHandle() +221
   System.Messaging.MessageEnumerator.get_Handle() +70
   System.Messaging.MessageEnumerator.MoveNext(TimeSpan timeout) +93
   System.Messaging.MessageQueue.GetAllMessages() +58
   NServiceBus.Unicast.Subscriptions.Msmq.MsmqSubscriptionStorage.Init(IList`1 messageTypes) +124
   NServiceBus.Unicast.UnicastBus.Start(Action`1[] startupActions) +674
   Connector.Service.InitBus() +201
   Connector.OutgoingService..cctor() +9
Run Code Online (Sandbox Code Playgroud)

And*_*rin 4

我刚刚从 Win 2003 迁移到 Win 2008 R2 时也有过同样的经历 - 事实证明,当我使用 .NET API 创建队列时,2008 R2 创建的队列带有小写字母。稍后,当应用程序尝试访问队列时,它无法使用大写字母访问它们(给出您所说的错误)。使用小写可以解决问题。

/AZ