C#操作MSMQ向本地消息队列发送和接收消息

来源:互联网 发布:java ssl 双向认证 编辑:程序博客网 时间:2024/06/06 09:51

注意:不管是访问远程队列还是本地队列,访问者的本地系统一定要安装MSMQ。下面是在C#项目环境下操作MSMQ向本地发送和接收消息的示例代码:

using System;using System.Messaging;namespace JSONMSMQ{    class Program    {        static void Main(string[] args)        {            // 本地消息队列的地址            // 初始化消息队列实例,该实例引用指定路径的“消息队列”队列            // 初始化 Message类的实例            // 设置消息的内容——json格式            // 发送消息(非事务性)            string msmqPath = @".\Private$\json";            MessageQueue mq = new MessageQueue(msmqPath);            Message msg = new Message();            msg.Body = "{\"empoyees\":[{\"firstName\":\"Bill\", \"lastName\":\"Gates\"}, {\"firstName\":\"Indiana\", \"lastName\":\"Jones\"}]}";            mq.Send(msg);            // 接收消息msgReceive            // 设置消息的格式            // 把消息转换为字符串格式            // ...            Message msgReceive = mq.Receive();            msgReceive.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });            string receivedMsmq =  msgReceive.Body.ToString();            Console.Write(receivedMsmq);            mq.Purge();// 删除队列中所有消息            Console.ReadLine();        }    }}
提取出来的消息如下图所示:

1 0