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。

C#操作MSMQ的更多相关文章

  1. C#操作MSMQ示例

    C#操作MSMQ示例,示例代码: using System; using System.Collections.Generic; using System.Linq; using System.Tex ...

  2. C#操作MSMQ(消息队列)

    using System; using System.Collections.Generic; using System.Text; using System.Messaging; using Sys ...

  3. (转)MSMQ续

    原文作者:虔诚者    点此传送至原文 在上一篇我简单介绍了MSMQ的相关概念,本篇将以代码说明 Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的b ...

  4. MSMQ(消息队列)续

    在上一篇我简单介绍了MSMQ的相关概念,本篇将以代码说明 Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的body当中,因此很重要,让我们来看一看其 ...

  5. .NET分布式事务处理总结【下】 - 包含MSMQ的分布式事务处理

    转自:http://www.cnblogs.com/daxnet/archive/2011/03/15/1984995.html .NET直接提供对MSMQ的访问支持,只需要添加System.Mess ...

  6. MSMQ队列学习记录

    微软消息队列-MicroSoft Message Queue(MSMQ) 使用感受:简单. 一.windows安装MSMQ服务 控制面板->控制面板->所有控制面板项->程序和功能- ...

  7. Message Queuing(MSMQ)

    一.前言 MicroSoft Message Queuing(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任 ...

  8. MSMQ .NET下的应用

    Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的body当中,因此很重要,让我们来看一看其在.net中的体现,如图: 在图上我们可以看见,Messa ...

  9. MSMQ队列的简单使用

    微软消息队列-MicroSoft Message Queue(MSMQ) 使用感受:简单. 一.windows安装MSMQ服务 控制面板->控制面板->所有控制面板项->程序和功能- ...

随机推荐

  1. [蓝桥] 算法训练 P0505

    时间限制:1.0s 内存限制:256.0MB 一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积.阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中:而35!就更 ...

  2. Latex: 添加IEEE会议论文作者信息

    参考: Multiple Authors with common affiliations in IEEEtran conference template Latex: 添加IEEE会议论文作者信息 ...

  3. FZU 2150 Fire Game(点火游戏)

    FZU 2150 Fire Game(点火游戏) Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description - 题目描述 ...

  4. 利用React Native 从0到1 开发一款兼容IOS和android的APP(仿造京东)

    最近有一部电视剧叫做<微微一笑很傻逼>里面有个男猪脚,人们都叫他大神~我觉得吧~大神是相对的~所以~啥事都得谦虚! 好了 今天介绍的是如何从0到1利用React Native开发一款兼容I ...

  5. 【BZOJ】1085: [SCOI2005]骑士精神

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1085 $${if (cs+val-1>ans) return ;}$$ #inclu ...

  6. VC.判断双字节字符集前导字节集(IsDBCSLeadByte)

    ZC:这是 WIndows API 函数 1.“BOOL IsDBCSLeadByte( char );” 判断 某字节是否在 双字节字符集的前导字节集中 ZC:可以判断  如 汉字.日文.韩文等 Z ...

  7. 关于Java类和包的那些事

    *.Java文件 问题:一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以 ...

  8. 学习笔记41—ttest误区

    1.grapPad软件里面双T结果和matlab,EXCEl里面双T结果一致时,设置如下:

  9. 虚拟机上自动化部署(EFI网络安装)ESXi服务器遇到的问题

    1,虚拟机的CPU为2核或以上. 2,虚拟机选项中不选择: 启用UEFI安全引导.3,引导延迟:设置3000毫秒或以上 4,#GP Exception 13 in world 1:unknown @ ...

  10. 第 6 章 存储 - 043 - data-packed volume container

    data-packed volume container 将数据打包到镜像中,然后通过 docker managed volume 共享 1.先用Dockerfile 构建镜像 ADD 将静态文件添加 ...