在 Windows Server 2016 上接收 MSMQ 消息

Receiving MSMQ messages on Windows Server 2016

我在 Windows Server 2016 机器上设置了一个队列,但我终究无法弄清楚如何从它远程接收消息。

MessageQueue.Receive() 会抛出

MessageQueueException (0x80004005): Access to Message Queuing system is denied

然后我在另一个装有 Windows Server 2008 R2 的机器上以相同的方式配置了一个队列,我可以很好地接收到该队列。

下面是关于我的设置的一些详细信息,以及我目前所做的尝试。

我还应该检查什么?我怎样才能弄清楚这个问题?

我终于通过禁用 Secured Remote Read 使其工作:

To modify this default behavior and allow the Message Queuing server to accept requests from domain computers that do not establish an encrypted channel, add the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security\NewRemoteReadServerAllowNoneSecurityClient registry entry (a DWORD) and set it to 1.

来源:https://msdn.microsoft.com/en-us/library/ms699854.aspx