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

注意:不管是访问远程队列还是本地队列,访问者的本地系统一定要安装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();
        }
    }
}
提取出来的消息如下图所示:

C#操作MSMQ向本地消息队列发送和接收消息_第1张图片

你可能感兴趣的:(MSMQ)