通过HTTP协议发送远程消息

时间:2022-01-30 16:03:56

通过HTTP协议发送远程消息

MSMQ一般情况是通过tcp协议进行通讯,但如果遇到端口被禁用或防火墙,则通过HTTP协议发送消息是一个有效的解决办法。

通过HTTP协议发送消息到远程服务器

public static void send2()
        {
            MessageQueue mq = new MessageQueue("FormatName:DIRECT=http://222.10.xx.xx/msmq/Private$/test");
            System.Messaging.Message msg = new System.Messaging.Message();
            msg.Body = "This is a test message! ->" + DateTime.Now.ToString();
            msg.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
            mq.Send(msg);
        }

另:

服务器端必须在安装消息列队选项里添加"MSMQ HTTP支持", 通过HTTP协议发送远程消息需要IIS支持,因此必须启用IIS,且MSMQ默认将其安装在iis中的"默认站点",因此,如果停用或删除后,安装MSMQ HTTP支持时会发生错, 一般启用默认站点或重新安装IIS即可解决.

出处:http://hi.baidu.com/kangson/item/ee92d80c60dc243af3eafc9d