C#操作MSMQ

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Messaging;

namespace MessageQueues

{

class Program

{

static void 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。

最新文章

  1. 黑社会团伙(gangs)
  2. Android 学习笔记之Volley(七)实现Json数据加载和解析...
  3. Mysql学习笔记(四)字符串函数
  4. 根据CSV更新AD对象的属性
  5. codeforces #310 div1 D
  6. 99%Bug 修复方法
  7. 【HDU】I love sneakers!(分组背包)
  8. Linux配置FTP服务器
  9. Android studio教程:[2]项目整体布局
  10. Android 一个改进的okHttp封装库
  11. DataTables warning (table id = 'DataTables_Table_0');错误解决办法!
  12. 深入理解 JavaScript(一)
  13. CentOS6.5下LNMP环境的搭建
  14. 团队作业4——第一次项目冲刺(Alpha版本)4.27
  15. Codevs1380没有上司的舞会_KEY
  16. Five Android layouts
  17. php开启redis
  18. 研究table-cell和overflow
  19. UVa 12186 工人的请愿书(树形DP)
  20. sparkR 跑通的函数

热门文章

  1. Validation in jQuery
  2. ETCD应用
  3. Linux命令之locate命令
  4. C# widget
  5. vue中click阻止事件冒泡,防止触发另一个事件
  6. codeforces 15C. Industrial Nim
  7. GYM 101064 2016 USP Try-outs G. The Declaration of Independence 主席树
  8. 两个DIV并排显示
  9. python类的成员
  10. Windows.环境变量(设置)