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的双工模式. 在一个基 ...
随机推荐
- php file_get_contents失败[function.file-get-contents]: failed to open stream: HTTP request failed!解决
在使用file_get_contents方法来获取远程文件时会出现 [function.file-get-contents]: failed to open stream: HTTP request ...
- java swing模仿随机频谱
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Grap ...
- C++ vector用法
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<in ...
- python基础-内置函数详解
一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...
- 【Alpha版本】冲刺阶段——Day 6
我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...
- Ajax深入学习
1.ajax如何减轻服务器的负担的? 2.如何合理的使用ajax? 3.一个页面一进来等文档加载完毕:走ajax请求去了? 用户体验真的好吗?
- SVN的简单使用
鼠标右键 SVNCheckout 导出文件 如果想在文件里做修改:右击鼠标-SVN Commit 如果想添加文件:把想要添加的文件粘贴到文件夹中,鼠标右击-TortoiseSVN-add 如果想在添加 ...
- 一个很好的UML工具
访问地址:www.visual-paradigm.com 工具使用帮助文档地址: http://www.visual-paradigm.com/support/documents/vpumluserg ...
- java的debug和release编译方式
以前没有注意过,其实Java编译成.class 有两种方式 使用javac,默认使用的release方式,而我们经常使用的MyEclipse工具,用的是debug模式. 区别暂时了解如下: relea ...
- linux(本机)配置域名
hosts是一个没有扩展名的系统文件, 其作用就是将主机名映射到对应的ip地址. 当用户执行一条ping命令时(如ping www.abc.com),系统会首先自动从hosts文件中寻找www.abc ...