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. Ubuntu14.04 clang3.8 Installation Guide

    Reference Installing clang 3.8 on Ubuntu 14.04.3. Ubuntu14.04 clang3.8 Installation Guide 1.add the ...

  2. js判断数字、整数、字符串、布尔,特殊方法

    整数: function isInteger(obj) { return Math.floor(obj) === obj } isInteger(3) // true isInteger(3.3) / ...

  3. SE91 SAP消息类型

    SE91 SAP消息类型 E:Error W:Warning I  :Information A :Abortion S :Success 标准 : MESSAGE ID sy-msgid TYPE  ...

  4. HDU 4318 Power transmission(最短路)

    http://acm.hdu.edu.cn/showproblem.php?pid=4318 题意: 给出运输路线,每条路线运输时都会损失一定百分比的量,给定起点.终点和初始运输量,问最后到达终点时最 ...

  5. JAVA基础之复识二

    JAVA语言 未经本人允许禁止转载或使用 基础知识:JAVA数据类型,运算符,流程控制等 注释: // 单行注释 /* 多行连续注释 ... */ /** 文档注释,该类型的注释会生成一个html文件 ...

  6. Spring-json依赖

    <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jacks ...

  7. 前端性能优化之按需加载(React-router+webpack)

    一.什么是按需加载 和异步加载script的目的一样(异步加载script的方法),按需加载/代码切割也可以解决首屏加载的速度. 什么时候需要按需加载 如果是大文件,使用按需加载就十分合适.比如一个近 ...

  8. JS中什么是发布--订阅模式?

    转载文章部分内容: 发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知. ...

  9. 【ATcoder】D - Half Reflector

    题目链接:http://agc011.contest.atcoder.jp/tasks/agc011_d 每次都是两道题惨啊.... 想了想大概做法,既然小球走过去就会导致装置变化?那么是不是有一点像 ...

  10. 在JAVA中返回类型使用泛型T和Object有什么区别?

    最近在读jackson源码的时候发现有段代码返回类型写的是<T> T,而我自己一般写的是Object.上网搜了下这个语法糖,在stackoverflow上找到一个比较简单易懂的解释,搬运过 ...