我正在尝试使用MSMQ(通过http)通过互联网从一台机器向另一台机器发送消息。
据我所知,通过添加功能和角色,我已经启用了所有正确的位和碎片。
还包括MSMQ Over HTTP。
我已经建立了自己的小c#app。
我的队列格式为:
FormatName:DIRECT = $ / testqueue(所以IP - 不是FQDN)
当我尝试发送消息时,消息永远不会到达目标队列。
当我进入需要接收消息的服务器的RDP时,并使用同一应用程序中的以下内容:
FORMATNAME:直接= $ / testqueue
有效!
我添加了额外的权限(Everyone /匿名登录/网络服务) - 完全控制,但无济于事。
端口80已打开 - 我相信这是唯一需要的端口。
我也在我的windows开发盒上试过这个,作为隔离测试的一种形式,再次做同样的事情! Localhost没有问题,按预期添加到队列中,但是一旦我添加WAN IP就没有任何反应。
所有未发送的消息都会开始填写外发消息,表示没有成功。
SO'ers请帮助 - 需要额外的端口?更多权限?期待您的帮助!
CHUD
答案 0 :(得分:1)
好的,我明白了。
需要做的是创建一个映射文件。
将以下内容添加到文件中。
<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>
这对我有用。希望这有助于某人走上正轨。
CHUD