MSMQ 学习(1)
在 Windows Server 2008 or Windows Server 2008 R2 上安装消息队列 4.0
在服务器管理器中,单击“功能”。
在“功能摘要”下的右窗格中,单击“添加功能”。
在生成的窗口中,展开“消息队列”。
展开“消息队列服务”。
单击“目录服务集成”(用于加入域的计算机),然后单击“HTTP 支持”。
单击“下一步”,然后单击“安装”。
在 Windows 7 或 Windows Vista 上安装消息队列 4.0
打开“控制面板”。
单击“程序”,然后在“程序和功能”下单击“打开或关闭 Windows 功能”。
展开“Microsoft Message Queue (MSMQ) 服务器”,展开“Microsoft Message Queue (MSMQ) 服务器核心”,然后选中对应于以下要安装的“消息队列”功能的复选框:
MSMQ Active Directory 域服务集成(用于加入域的计算机)。
MSMQ HTTP 支持。
单击“确定”。
如果提示您重新启动计算机,请单击“确定”完成安装。
在 Windows XP 和 Windows Server 2003 上安装消息队列 3.0
打开“控制面板”。
单击“添加/删除程序”,然后单击“添加/删除 Windows 组件”。
选择“消息队列”并单击“详细信息”。
注意如果运行的是 Windows Server 2003,请选择“应用程序服务器”来访问消息队列。
确保在详细信息页上已选中“MSMQ HTTP 支持”选项。
单击“确定”退出详细信息页,然后单击“下一步”。完成安装。
如果提示您重新启动计算机,请单击“确定”完成安装。
using System.Messaging
//生产者
class Producer
{
static void Main(string[] args)
{
string mqName = ".\\Private$\\SendShortMessageQueue";
if (!MessageQueue.Exists(mqName))
{
MessageQueue.Create(mqName);
}
var queue=new MessageQueue(mqName);
var msg=new Message();
msg.Body = "尊敬的先生,你的快递今日到达";
msg.Label = "25623015";
msg.Formatter=new XmlMessageFormatter(new Type[]{typeof(string)});
queue.Send(msg);
Console.Read();
}
}

//消费者
class Customer
{
static void Main(string[] args)
{
string mqName = ".\\Private$\\SendShortMessageQueue";
MessageQueue queue=new MessageQueue(mqName);
queue.Formatter=new XmlMessageFormatter(new Type[]{typeof(string)});
TimeSpan timeOut=new TimeSpan(0,0,0,3);
while (Console.ReadLine() != "exit")
{
Message msg=null;
try
{
msg = queue.Receive(timeOut);
}
catch
{
}
if(msg !=null)
Console.WriteLine("获取的消息标题是{0},内容是{1}",msg.Label,msg.Body as string);
else
{
Console.WriteLine("暂时没有新消息...");
}
}
}
}
MSMQ 学习(1)的更多相关文章
- MSMQ学习笔记
这几天学习了一下MSMQ,虽然不能说非常深入的了解其机制与实际用法(具体项目的实现),但也要给自己的学习做个总结.学习心得如下: 一.MSMQ即微软消息队列.用于程序之间的异步消息通信,主要的机制就是 ...
- MSMQ学习
一.理论准备 MSMQ(MicroSoft Message Queue,微软消息队列)官方的解释是:在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布 ...
- MSMQ学习笔记一——概述
一.MSMQ是什么 Message Queuing(MSMQ) 是微软开发的消息中间件,可应用于程序内部或程序之间的异步通信.主要的机制是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为M ...
- MSMQ学习笔记二——创建Message Queue队列
一.创建Message Queue队列的主要流程 1.定义MQQUEUEPROPS 结构: 2.设置消息队列属性: 3.初始化MQQUEUEPROPS 结构: 4.调用MQCreateQueue创建队 ...
- Redis学习笔记~实现消息队列比MSMQ更方便
什么是队列:简单的说就是数据存储到一个空间里(可以是内存,也可以是物理文件),先存储的数据对象,先被取出来,这与堆栈正好相反,消息队列也是这样,将可能出现高并发的数据进行队列存储,并按着入队的顺序依次 ...
- PetShop 4.0学习笔记:消息队列MSMQ
直到今天才知道,在我们每天都在用的Window系统里还有这么好用的一个编程组件:消息队列.它能够解决在大数据量交换的情况下的性能问题,特别是BS系统的数据库性能.而且它的异步处理方式能给程序员最大的便 ...
- MSMQ队列学习记录
微软消息队列-MicroSoft Message Queue(MSMQ) 使用感受:简单. 一.windows安装MSMQ服务 控制面板->控制面板->所有控制面板项->程序和功能- ...
- WCF学习之旅—WCF服务的WAS寄宿(十二)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...
- WCF学习之旅—TCP双工模式(二十一)
WCF学习之旅—请求与答复模式和单向模式(十九) WCF学习之旅—HTTP双工模式(二十) 五.TCP双工模式 上一篇文章中我们学习了HTTP的双工模式,我们今天就学习一下TCP的双工模式. 在一个基 ...
随机推荐
- [转]搞ACM的你伤不起(转自Roba大神)
劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟 ...
- 35-less 简明笔记
分屏显示文本文件 less [options] [file-list] less与more类似,但比more更加完善 例如:在显示一屏文本之后,less将显示提示副等待下一条命令的输入;可以向前或向后 ...
- JS是按值传递还是按引用传递
按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本.修改形参的值并不会影响实参. 按引用传递(call by reference)时,函数的形参接收实参的隐式 ...
- 【BZOJ 1178】【APIO 2009】CONVENTION会议中心
http://www.lydsy.com/JudgeOnline/problem.php?id=1178 这道题想了好久没想明白,倍增数组通过看题解很快就明白了,但是一小段区间内应有的最多线段数一直不 ...
- java-首字母大小写
/** * 首字母小写 * * @param str * @return */ public static String toLowerCaseFirstChar(String s) { if (Ch ...
- dede使用方法----如何调用最新文章,最热文章,友情链接
dede如何调用最新文章 {dede:arclist row='5' titlelen='50' orderby ='pubdate'} <li><a h ...
- 数组与指针-----a[i]=*(a+i)=i[a]
#include<stdio.h> #include<stdlib.h> int main(void) { ,,,,};//a[i]相当于*(a+i) printf(]); p ...
- Hive UDF开发实例学习
1. 本地环境配置 必须包含的一些包. http://blog.csdn.net/azhao_dn/article/details/6981115 2. 去重UDF实例 http://blog.csd ...
- 【poj2823】 Sliding Window
http://poj.org/problem?id=2823 (题目链接) 题意 维护滑动窗口最大最小值. Solution sb单调队列 代码 // poj2823 #include<algo ...
- BZOJ4720 [Noip2016]换教室
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...