C#关于MSMQ通过HTTP远程发送专有队列消息的问题

两台计算机的操作系统都是Windows Server 2008
两台计算机都安装了MSMQ+Http支持
两台计算机的防火墙全部关闭
本地Ip:192.168.1.104
远程Ip:192.168.1.142
远程建立专有队列:Test
本地发送消息的代码:
System.Messaging.MessageQueue mq =
    new System.Messaging.MessageQueue ("FormatName:Direct=http://192.168.1.142/msmq/Private$/Test");
    mq.Send("Hello");
可是远程计算机就是收不到这个信息
本地MSMQ中传出队列显示 "FormatName:Direct=http://192.168.1.142/msmq/Private$/ProxyLog" 正在等待连接,但是消息很慢的一个一个减少
请问如何解决这个问题么?

 

 

===========================================================

 

终于搞明白了,这个问题的根本原因是这样的。

在 Windows Server 2008 上安装 IIS 服务和 MSMQ 功能后,系统会在 IIS 的默认网站下建立一个 MSMQ 默认网络。

如果将 IIS 的默认网站删除了,那么这个默认的 MSMQ 网络就无法建立,也就无法接受信息了。

结论:要使用 MSMQ,IIS 的默认网站千万不要删除。否则只能重装 IIS 了。

 

posted @ 2014-10-16 23:10  左正  阅读(1264)  评论(0编辑  收藏  举报