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的双工模式. 在一个基 ...
随机推荐
- android定时器
Handler+Timer+TimerTask 三.采用Handler与timer及TimerTask结合的方法. 1.定义定时器.定时器任务及Handler句柄 private final Time ...
- MySQL的启动脚本
MySQL的启动脚本#!/bin/bashmysql_port=3308mysql_username="admin"mysql_password="password&qu ...
- iOS开发,系统自带的分享简单实现
由于simulator设置里面没有新浪微博的选项,所以选择了真机调试,成功了.代码不多,包含头文件 没有配置登录信息的话,是没有作用的 ...
- Linux_脚本安装包(以Webmin的安装为例)
1.Webmin下载地址:https://sourceforge.net/projects/webadmin/files/webmin/ 版本使用1.820 2.解压Webmin ...
- 【BZOJ 4547】【HDU 5157】小奇的集合
http://www.lydsy.com/JudgeOnline/problem.php?id=4547 本蒟蒻并不会矩乘求Fibonacci数列前缀和,所以果断分块打表,常数竟然比矩乘要小! PS: ...
- python之旅【第二篇】
1,文件操作 找到文件-----打开文件------文件操作-----------文件关闭 file_open = file(文件路径,模式) 读取文件: M.read() obj = M.readl ...
- 使用express4.X + jade + mongoose + underscore搭建个人电影网站
(-。-;), 周末过得真是快啊, 很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, no ...
- 页面打开自动触发onlick事件
<script type="text/javascript"> // 两秒后模拟点击 setTimeout(function() { // IE if(document ...
- mysql-linux命令登录,退出
linux中登录 # mysql -uroot -p 输入密码(为空就直接回车) 显示数据库 shwo databases 退出 1.按ctrl+d 2.exit 3.quit\ 4.sudo shu ...
- 中间值为什么为l+(r-l)/2,而不是(l+r)/2
二分法的算法中,我们看到一些代码里取中间值: MID=l+(r-l)/2; 为什么是这个呢?不就是(l+r)/2吗?为什么要多此一举呢? 其实还是有不一样的,看看他们的区别吧: l,r是指针的时候只能 ...