如何使用消息队列? 最近在项目中碰到了要使用消息队列!以前没接触过这个内容!自己到网上也看了点资料!但都是很简单的那种发送接收程序!有谁能够给点具体的内容! 到底该如何使用和操作消息队列(MSMQ)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。 c#中发往消息队列中发送消息 public bool SendMessage(string title, string body) { MessageQueue SmsQueue = new MessageQueue(); try { string mqPath = System.Configuration.ConfigurationSettings.AppSettings["SiteEnvironmentMQPath"];//给基站告警用的(wz的程序) string MQPath = string.Format(@"FormatName:DIRECT=TCP:{0}", mqPath); SmsQueue.MessageReadPropertyFilter.Body = true; SmsQueue.MessageReadPropertyFilter.AppSpecific = true; SmsQueue.MessageReadPropertyFilter.Priority = true; SmsQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); SmsQueue.Path = MQPath; Message objMsg = new Message(); objMsg.Label = title; objMsg.Body = body; SmsQueue.Send(objMsg); return true; } catch (Exception ex) { return false; } finally { SmsQueue.Close(); } }c# 从消息队列中取消息 public string ReceiveMessage(string mqPath) { string ret = ""; MessageQueue SmsQueue = new MessageQueue(); try { string MQPath = string.Format(@"FormatName:DIRECT=TCP:{0}", mqPath); //string MQPath = System.Configuration.ConfigurationSettings.AppSettings["MQPath"]; SmsQueue.MessageReadPropertyFilter.Body = true; SmsQueue.MessageReadPropertyFilter.AppSpecific = true; SmsQueue.MessageReadPropertyFilter.Priority = true; SmsQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) }); SmsQueue.Path = MQPath; Message objMsg = SmsQueue.Receive(); ret = objMsg.Body.ToString(); } catch (Exception ex) { //LogClass.WriteLog("错误", DateTime.Now.ToString(), ex.Message, "从消息队列读取告警数据"); //System.Threading.Thread.Sleep(Convert.ToInt16(System.Configuration.ConfigurationSettings.AppSettings["sleepTime"])); } finally { SmsQueue.Close(); } return ret; } winfrom treeview 最后一级显示checkbox 正则问题 求助:开发一个本地读写程序 关于引用对象初始化的问题 数据库重复记录的问一 出现拒绝访问提示? string.jion()方法的使用? api函数调用问题? 100分诚意求教高手:.NET的远程调试,麻烦以最简单的C#的Web程序作详细的解说。 Give me a hand! asp.net 水晶报表 窗体 会闪烁的问题
{
MessageQueue SmsQueue = new MessageQueue();
try
{
string mqPath = System.Configuration.ConfigurationSettings.AppSettings["SiteEnvironmentMQPath"];//给基站告警用的(wz的程序)
string MQPath = string.Format(@"FormatName:DIRECT=TCP:{0}", mqPath); SmsQueue.MessageReadPropertyFilter.Body = true;
SmsQueue.MessageReadPropertyFilter.AppSpecific = true;
SmsQueue.MessageReadPropertyFilter.Priority = true;
SmsQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
SmsQueue.Path = MQPath;
Message objMsg = new Message();
objMsg.Label = title;
objMsg.Body = body;
SmsQueue.Send(objMsg); return true;
}
catch (Exception ex)
{
return false;
}
finally
{
SmsQueue.Close();
}
}c# 从消息队列中取消息 public string ReceiveMessage(string mqPath)
{
string ret = "";
MessageQueue SmsQueue = new MessageQueue();
try
{
string MQPath = string.Format(@"FormatName:DIRECT=TCP:{0}", mqPath);
//string MQPath = System.Configuration.ConfigurationSettings.AppSettings["MQPath"];
SmsQueue.MessageReadPropertyFilter.Body = true;
SmsQueue.MessageReadPropertyFilter.AppSpecific = true;
SmsQueue.MessageReadPropertyFilter.Priority = true;
SmsQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });
SmsQueue.Path = MQPath;
Message objMsg = SmsQueue.Receive();
ret = objMsg.Body.ToString();
}
catch (Exception ex)
{
//LogClass.WriteLog("错误", DateTime.Now.ToString(), ex.Message, "从消息队列读取告警数据");
//System.Threading.Thread.Sleep(Convert.ToInt16(System.Configuration.ConfigurationSettings.AppSettings["sleepTime"]));
}
finally
{
SmsQueue.Close();
}
return ret;
}