c#中如何操作消息队列

 我来答
素雅还飘然的小柠檬2218
推荐于2016-08-03 · TA获得超过163个赞
知道答主
回答量:126
采纳率:0%
帮助的人:65.3万
展开全部
“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。 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, "从消息队列读取告警数据");
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式