C#操作MSMQ
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的更多相关文章
- C#操作MSMQ示例
C#操作MSMQ示例,示例代码: using System; using System.Collections.Generic; using System.Linq; using System.Tex ...
- C#操作MSMQ(消息队列)
using System; using System.Collections.Generic; using System.Text; using System.Messaging; using Sys ...
- (转)MSMQ续
原文作者:虔诚者 点此传送至原文 在上一篇我简单介绍了MSMQ的相关概念,本篇将以代码说明 Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的b ...
- MSMQ(消息队列)续
在上一篇我简单介绍了MSMQ的相关概念,本篇将以代码说明 Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的body当中,因此很重要,让我们来看一看其 ...
- .NET分布式事务处理总结【下】 - 包含MSMQ的分布式事务处理
转自:http://www.cnblogs.com/daxnet/archive/2011/03/15/1984995.html .NET直接提供对MSMQ的访问支持,只需要添加System.Mess ...
- MSMQ队列学习记录
微软消息队列-MicroSoft Message Queue(MSMQ) 使用感受:简单. 一.windows安装MSMQ服务 控制面板->控制面板->所有控制面板项->程序和功能- ...
- Message Queuing(MSMQ)
一.前言 MicroSoft Message Queuing(微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任 ...
- MSMQ .NET下的应用
Message Message是MSMQ的数据存储单元,我们的用户数据一般也被填充在Message的body当中,因此很重要,让我们来看一看其在.net中的体现,如图: 在图上我们可以看见,Messa ...
- MSMQ队列的简单使用
微软消息队列-MicroSoft Message Queue(MSMQ) 使用感受:简单. 一.windows安装MSMQ服务 控制面板->控制面板->所有控制面板项->程序和功能- ...
随机推荐
- (zhuan) LSTM Neural Network for Time Series Prediction
LSTM Neural Network for Time Series Prediction Wed 21st Dec 2016 Neural Networks these days are the ...
- (转)Is attacking machine learning easier than defending it?
转自:http://www.cleverhans.io/security/privacy/ml/2017/02/15/why-attacking-machine-learning-is-easier- ...
- Python中的垃圾回收机制
Python的垃圾回收机制 引子: 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,而变量名是访问到变量值的唯一方式,所以 ...
- python Exception中的raise、assert
使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常.一旦执行了raise语句,raise后面的语句将不能执行. 演示raise用法. try: s ...
- C++使用thread类进行多线程编程
C++11中引入了一个用于多线程操作的thread类,简单多线程示例: #include <iostream> #include <thread> #include <W ...
- File操作-将数据库里的数据写入到指定路径的txt文件里
package com.Cristin.File;//将数据库里的数据写入到指定路径的txt文件里 import java.io.File;import java.io.FileOutputStrea ...
- 封装fetch的使用(包含超时处理)
// 1: 传统fetch操作 fetch('http://facebook.github.io/react-native/movies.json') .then((response) => r ...
- .net unicode汉字互相转换
[两种方法].net unicode汉字互相转换 ========================================= //汉字转Unicode编码(ASCII) private str ...
- Rancher与OpenLDAP对接
简要说明: Rancher官网文档中,关于访问控制,有与OpenLDAP对接的介绍,但只是简要一笔带过,Rancher与OpenLDAP对接页面中的几个参数如何填写,并没有详细的说明. 本文通过Ope ...
- aar的使用(module或者library)
引入: 1. android studio正常的module引用aar文件需要配置如下: ① 在module的build.gradle的android节点下 repositories { flatDi ...