c# 中如何操作消息队列
答案:1 悬赏:50 手机版
解决时间 2021-01-30 08:39
- 提问者网友:饥饿走向夜
- 2021-01-29 20:34
c# 中如何操作消息队列
最佳答案
- 五星知识达人网友:污到你湿
- 2021-01-29 21:20
“消息”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。 消息被发送到队列中。“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。 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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯