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