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. 使用Numpy实现卷积神经网络(CNN)

    import numpy as np import sys def conv_(img, conv_filter): filter_size = conv_filter.shape[1] result ...

  2. swagger实战踩坑1

    1.swagger error 有详细的错误信息 自己根据详细信息找问题 2.swagger error 无详细的错误信息 Controller是否重名=>重名,指定不同的   [Route(& ...

  3. 4、My Scripts

    脚本目录列表 1.在windows编写的shell脚本利用dos2unix命令格式化一下(P308) 2.bash命令参数调试(P309) 3.使用set命令调试部分脚本内容(P312) 4.开发脚本 ...

  4. 搭建 FTP 文件服务

    1.安装并启动 FTP 服务 2.配置 FTP 权限 3.准备域名和证书 4.访问 FTP 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsft ...

  5. 转csdn某位同学的 感谢bmfont

    UGUI 使用BMFont 首先要知道 Custom Font 的原理,不知道的同学可以先看这篇[Custom Font 原理](http://blog.csdn.net/liqiangeastsun ...

  6. java之双缓冲的代码粘贴

    private Image offScreenImage = null; public void update(Graphics g) { if(offScreenImage == null) off ...

  7. 力扣(LeetCode)258. 各位相加

    给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数. 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2. 由于 2 是一位数,所 ...

  8. Tomcat部署项目定时任务跑了两次

    在server.xml下面找到Host这行代码 <Host name="localhost" appBase="webapps" unpackWARs=& ...

  9. 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) 思路: A Exam 思路:水题 代码: #include<bits ...

  10. git Bash下复制粘贴

    git复制:Ctrl+insert git粘贴:Shift+Insert git常用快捷键链接地址:https://www.jianshu.com/p/cc1fbd89e087 在gitHup上下载他 ...