我在本地计算机上的其他进程中创建了一个队列,如下所示:
MessageQueue.Create(@".\private$\sampleQueue");
在我的阅读过程中,我按照以下方式加入:
var queue = new MessageQueue(@".\private$\sampleQueue");
当我尝试queue.Peek()
时,我获得了访问被拒绝的异常。我不在域名上,这只是我的本地工作组计算机。有什么想法吗?
答案 0 :(得分:3)
MSMQ使用不同的协议进行工作:
如果它不是一个简单的权限问题(很可能是这样),那么你需要这篇博文:
了解MSMQ安全性如何阻止RPC流量 http://blogs.msdn.com/b/johnbreakwell/archive/2010/03/24/understanding-how-msmq-security-blocks-rpc-traffic.aspx
干杯
约翰
答案 1 :(得分:2)
如果在计算机管理中单击队列并选择属性,是否在“安全”选项卡上设置了相应的权限?
答案 2 :(得分:2)
创建队列的进程使用的凭据必须与用于读取队列的进程的凭据不同。如果这是必须的,那么您需要在创建队列后专门授予队列所需的读取权限。