【发布时间】:2021-04-26 22:13:13
【问题描述】:
我在远程 Windows Server 2012 上配置了私有、非事务性队列。
我编写了快速的 C# 控制台应用程序来测试它。它将消息放置到我本地 PC 上的本地私有队列中。
它在远程服务器上运行时也能正常工作 - 消息进入队列。但我无法将消息从本地 PC 发送到远程队列。相反,它也不起作用。我检查了入站规则并启用了远程事件监视器 (RPC) 和远程事件监视器 (RPC-EPMAP),但我的消息仍在出站队列中,状态为 Waiting to connect 和消息 Failed to connect Winsock socket Ip: XX.XX.XX.XX
我也尝试过注册表调整:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security\NewRemoteReadServerAllowNoneSecurityClient as 1,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security\AllowNonauthenticatedRPC as 1
使用的队列路径:FormatName:Direct=TCP:XX.XX.XX.XX\\private$\\name-of-queue
有人可以帮我吗? 非常感谢。
【问题讨论】:
-
只是为了澄清一点 - RPC 协议只需要从远程队列读取消息。此处使用 MSMQ 协议将消息发送到远程队列。