MSMQ读取错误(拒绝访问)

本文关键字:拒绝访问 取错误 读取 MSMQ | 更新日期: 2023-09-27 18:12:47

我在本地机器上创建了一个队列,如下所示:

MessageQueue.Create(@".'private$'sampleQueue");

在我的reader进程中,我将其附加如下:

var queue = new MessageQueue(@".'private$'sampleQueue");

当我尝试做queue.Peek()时,我得到一个访问拒绝异常。我不在域名上,这只是我的本地工作组计算机。什么好主意吗?

MSMQ读取错误(拒绝访问)

MSMQ使用不同的协议来工作:

  • 推送信息(发送消息)使用MSMQ协议。
  • 使用RPC协议提取信息(接收消息,获取属性等)

如果这不是一个简单的权限问题(很可能是),那么你需要这篇博客文章:

了解MSMQ安全如何阻止RPC流量http://blogs.msdn.com/b/johnbreakwell/archive/2010/03/24/understanding-how-msmq-security-blocks-rpc-traffic.aspx


欢呼约翰。

如果在"计算机管理"中右击队列并选择属性,您是否在"安全"选项卡上设置了适当的权限?

创建队列的进程使用的凭据必须与读取队列的进程使用的凭据不同。如果这是必须的方式,那么您需要在创建队列后专门授予所需的读权限。