MSMQ通常状况是经过tcp协议进行通信,但若是遇到端口被禁用或防火墙,则经过HTTP协议发送消息是一个有效的解决办法。服务器
经过HTTP协议发送消息到远程服务器tcp
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);
}orm
另:get
服务器端必须在安装消息列队选项里添加"MSMQ HTTP支持", 经过HTTP协议发送远程消息须要IIS支持,所以必须启用IIS,且MSMQ默认将其安装在iis中的"默认站点",所以,若是停用或删除后,安装MSMQ HTTP支持时会发生错, 通常启用默认站点或从新安装IIS便可解决.string
出处:http://hi.baidu.com/kangson/item/ee92d80c60dc243af3eafc9dit