using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Messaging;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
#region 创建消息队列
const string queueName = @".\Private$\xiaoyu";
MessageQueue mq = null;
if (!MessageQueue.Exists(queueName))// 如果指定的路径queueName中不存在队列,那么在该路径,即queueName中创建一个消息队列。xiaoyu就是你想要创建消息队列的名字
{
mq = MessageQueue.Create(queueName);//创建名称xiaoyu的消息队列的实例。
Console.WriteLine("创建消息队列完成:" + queueName);
}
else //如果消息队列xiaoyu已经存在,那么创建该消息队列的一个实例
{
mq = new MessageQueue(queueName);//创建名称xiaoyu的消息队列的实例。
}
mq.SetPermissions("Administrator", MessageQueueAccessRights.FullControl);
mq.SetPermissions("ANONYMOUS LOGON", MessageQueueAccessRights.FullControl);
mq.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
#endregion
#region 发送消息队列
string strTx = "1234567890";
Message msgTx = new Message();
msgTx.Body = strTx;
msgTx.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
mq.Send(msgTx);
#endregion
#region 接收消息队列
//接收到的消息对象
Message msgRx = mq.Receive();
//指定格式化程序
msgRx.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
//接收到的内容
string strRx = msgRx.Body.ToString();
Console.WriteLine("显示消息:" + strRx);
#endregion
}
}
}