通过 HTTP (WAN) 的 MSMQ
MSMQ over HTTP (WAN)
我正在尝试使用 MSMQ(通过 http)通过互联网将消息从一台机器发送到另一台机器。
据我所知,我已经通过添加功能和角色启用了所有正确的点点滴滴。
MSMQ Over HTTP 也包含在内。
我构建了自己的小 C# 应用程序。
我的队列格式为:
FormatName:DIRECT=$/testqueue(所以 IP - 不是 FQDN)
当我尝试发送消息时,消息从未到达目标队列。
当我通过 RDP 连接到需要接收消息的服务器时,并使用同一应用程序中的以下内容:
格式名称:DIRECT=$/测试队列
有效!
我已添加额外权限(Everyone/Anonymous logon/network 服务)- 完全控制,但无济于事。
端口 80 已打开 - 我相信这是唯一需要打开的端口。
我也在我的 windows 开发箱上尝试过这个,作为隔离测试的一种形式,再次发生同样的事情! Localhost 没有问题,按预期添加到队列中,但是一旦我添加 WAN IP 就什么都没有发生。
所有未发送的消息刚刚开始填满外发消息,表明没有成功。
SO'ers 请帮助 - 需要额外的端口?更多权限?期待您的帮助!
查德
好的,所以我想通了。
需要做的是创建一个映射文件。
- C:\Windows\System32\msmq\Mapping
- 创建一个 xml 文件(可以随意命名)
将以下内容添加到文件中。
<redirections xmlns="msmq-queue-redirections.xml">
<redirection>
<from>http://servername-OR-IP/MSMQ/private$/testqueue</from>
<to>http://localhost/MSMQ/private$/testqueue</to>
</redirection>
</redirections>
- 确保重新启动消息服务(开始->运行->services.msc->消息队列->右键单击->重新启动
这对我有用。希望这可以帮助某人走上正轨。
查德
我正在尝试使用 MSMQ(通过 http)通过互联网将消息从一台机器发送到另一台机器。
据我所知,我已经通过添加功能和角色启用了所有正确的点点滴滴。
MSMQ Over HTTP 也包含在内。
我构建了自己的小 C# 应用程序。
我的队列格式为:
FormatName:DIRECT=$/testqueue(所以 IP - 不是 FQDN)
当我尝试发送消息时,消息从未到达目标队列。
当我通过 RDP 连接到需要接收消息的服务器时,并使用同一应用程序中的以下内容:
格式名称:DIRECT=$/测试队列
有效!
我已添加额外权限(Everyone/Anonymous logon/network 服务)- 完全控制,但无济于事。
端口 80 已打开 - 我相信这是唯一需要打开的端口。
我也在我的 windows 开发箱上尝试过这个,作为隔离测试的一种形式,再次发生同样的事情! Localhost 没有问题,按预期添加到队列中,但是一旦我添加 WAN IP 就什么都没有发生。
所有未发送的消息刚刚开始填满外发消息,表明没有成功。
SO'ers 请帮助 - 需要额外的端口?更多权限?期待您的帮助!
查德
好的,所以我想通了。
需要做的是创建一个映射文件。
- C:\Windows\System32\msmq\Mapping
- 创建一个 xml 文件(可以随意命名)
将以下内容添加到文件中。
<redirections xmlns="msmq-queue-redirections.xml">
<redirection>
<from>http://servername-OR-IP/MSMQ/private$/testqueue</from>
<to>http://localhost/MSMQ/private$/testqueue</to>
</redirection>
</redirections>
- 确保重新启动消息服务(开始->运行->services.msc->消息队列->右键单击->重新启动
这对我有用。希望这可以帮助某人走上正轨。
查德