MSMQ读取错误(拒绝访问)
本文关键字:拒绝访问 取错误 读取 MSMQ | 更新日期: 2023-09-27 18:12:47
我在本地机器上创建了一个队列,如下所示:
MessageQueue.Create(@".'private$'sampleQueue");
在我的reader进程中,我将其附加如下:
var queue = new MessageQueue(@".'private$'sampleQueue");
当我尝试做queue.Peek()
时,我得到一个访问拒绝异常。我不在域名上,这只是我的本地工作组计算机。什么好主意吗?
MSMQ使用不同的协议来工作:
- 推送信息(发送消息)使用MSMQ协议。
- 使用RPC协议提取信息(接收消息,获取属性等)
如果这不是一个简单的权限问题(很可能是),那么你需要这篇博客文章:
了解MSMQ安全如何阻止RPC流量http://blogs.msdn.com/b/johnbreakwell/archive/2010/03/24/understanding-how-msmq-security-blocks-rpc-traffic.aspx
欢呼约翰。
如果在"计算机管理"中右击队列并选择属性,您是否在"安全"选项卡上设置了适当的权限?
创建队列的进程使用的凭据必须与读取队列的进程使用的凭据不同。如果这是必须的方式,那么您需要在创建队列后专门授予所需的读权限。