2010-10-21 106 views
2

我无法弄清楚为什么在尝试从远程队列接收消息时,出现“访问消息排队系统被拒绝”错误。 (Msmq 5.0)。MSMQ尝试接收消息时,拒绝访问消息排队系统

发送到队列没有问题,从它接收是。

队列本身的安全性被配置为完全控制每个人和匿名。

任何想法为什么发送到这个队列不起作用? (防火墙不是问题,因为错误与所有防火墙关闭相同。)。

+0

当你说“接收”你如何接收消息时,你有一个控制台应用程序从队列中提取消息还是触发消息? – dnoxs 2010-10-25 15:54:48

+0

嗨,我昨天找到了答案。 DTC未启用远程客户端。对于我来说,不同的错误会比拒绝访问更清晰。 – 2010-10-26 11:35:13

+0

请发表您的评论作为答案并将其标记为这样。 – WhiteKnight 2012-05-03 11:15:46

回答

0

昨天我找到了答案。 DTC未启用远程客户端。对于我来说,不同的错误会比拒绝访问更清晰。

1

看到这个link。尽管远程读取操作不是最佳消息传递模型的一部分,但完全支持从远程非事务性队列读取消息。远程读取通常用于在服务器之间分配工作负载。远程阅读是一个高开销,因此效率低下的过程。在应用程序中包含远程读取操作会限制缩放。

那么试想一下:

应用程序运行家族成员的计算机上运行与 MSMQ安装在工作组模式将使用安全远程读取 API 3.0。工作组计算机无法为远程读取建立加密通道,并且默认情况下,消息队列服务器托管 包含要读取的消息的队列接受来自 工作组计算机的未加密通道的请求。为了使MSMQ 3.0服务器拒绝从工作组 计算机的请求修改这个默认 行为,添加 HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ MSMQ \参数\安全\ NewRemoteReadServerDenyWorkgroupClient 注册表项(一个DWORD),并将其设置为1。

+0

此链接有助于解决我的问题与远程接收操作,虽然不是在答案中引用的注册表设置,但是这个设置为1:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSMQ \ Parameters \ Security \ NewRemoteReadServerAllowNoneSecurityClient。 – 2016-02-08 18:12:35