【发布时间】:2011-09-24 14:35:19
【问题描述】:
我有一个在 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
【问题讨论】:
-
你试过这个解决方案了吗:stackoverflow.com/questions/3731627/…
-
这是与队列在同一台机器上运行的应用程序吗?此外,队列权限的一个简单测试是暂时将完全控制权授予Everyone+AnonymousLogon。如果这样可行,则队列权限错误。
-
我通过卸载队列功能并在 windows 2008 中重新添加解决了这个问题。
标签: msmq nservicebus