C#操作MSMQ示例

C#操作MSMQ示例,示例代码:

复制代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Messaging;
namespace MessageQueues {     class Program     {         staticvoid Main(string[] args)         {             /*    注意事项:              *    1. 发送和接受消息的电脑都要安装MSMQ。 * 2. 在工作组模式下不能访问public队列。              *    3. 访问本地队列和远程队列,path字符串格式不太一样。 * 4. public队列存在于消息网络中所有主机的消息队列中。              *    5. private队列则只存在于创建队列的那台主机上。              */
#region 以下是private队列访问示例:
           
//访问本地电脑上的消息队列时Path的格式可以有如下几种:            MessageQueue mq =new MessageQueue();             //mq.Path = @".\Private$\test";             //mq.Path = @"sf00902395d34\Private$\test";  //sf00902395d34是主机名             //mq.Path = @"FormatName:DIRECT=OS:sf00902395d34\Private$\test";             //mq.Path = @"FormatName:DIRECT=OS:localhost\Private$\test";
           
//访问远程电脑上的消息队列时Path的格式            mq.Path =@"FormatName:DIRECT=OS:server\Private$\test";
           
//构造消息            Message msg =new Message();             msg.Body ="Hello,world. This is a test message. "+ DateTime.Now.ToString();
           
//向队列发送消息            mq.Send(msg);
           
//读取队列中的所有消息            Message[] msgs = mq.GetAllMessages();             foreach (Message m in msgs)             {                 Console.WriteLine(m.Body.ToString());             }
           
//清除队列中的所有消息            mq.Purge();
#endregion
        }     } }
复制代码

 

本地队列和远程队列的区别如下图所示:

需要注意的几点:

1. 访问远程队列和本地队列的path字符串格式有区别。

2. 不管是访问远程队列还是本地队列,访问者的本地系统一定要安装MSMQ。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值