一、Windows 7安装、管理消息队列
1、安装消息队列
执行用户必须要有本地 Administrators 组中的成员身份,或等效身份。
具体步骤:
开始—》控制面板—》程序—》程序和功能—》打开或关闭Windows功能—》依次展开Microsoft Message Queue (MSMQ) 服务器、Microsoft Message Queue (MSMQ) 服务器核心—》确定
如果系统提示您重新启动计算机,请单击“确定”以完成安装。
2、管理消息队列
计算机—》右键—》管理—》服务和应用程序—》消息队列。
二、Windows Server 2008安装、管理消息队列
1、安装消息队列
开始—》控制面板—》管理工具—》服务器管理器—》功能—》添加功能—》依次展开MSM、MSMQ服务—》确定。
2、管理消息队列
计算机—》右键—》管理—》功能—》消息队列。
三、创建、删除和管理队列
要开发MSMQ程序就必须学习一个很重要的类(MessageQueue),该类位于名称空间System.Messageing下。
常用方法:
--Create()方法:创建使用指定路径的新消息队列。
--Delete()方法:删除现有的消息队列。
--Existe()方法:查看指定消息队列是否存在。
--GetAllMessages()方法:得到队列中的所有消息。
--GetPublicQueues()方法:在“消息队列”网络中定位消息队列。
--Peek()/BeginPeek()方法:查看某个特定队列中的消息队列,但不从该队列中移出消息。
--Receive()/BeginReceive()方法:检索指定消息队列中最前面的消息并将其从该队列中移除。
--Send()方法:发送消息到指定的消息队列。
--Purge()方法:清空指定队列的消息。
常用属性:
--Priority:设置消息优先级,MessagePriority枚举里全部进行了封装,MessagePriority.High();
AboveNormal:hight与Normal消息优先级之间;
High:高级消息优先级;
Highest:最高消息优先级;
Low:低消息优先级;
Lowest:最低消息优先级;
Normal:普通消息优先级;
VeryHigh:Highest和High消息优先级之间;
VeryLow:Low和Lowest消息优先级之间;
四、发送和序列化消息
MSMQ消息队列中定义的消息由一个主体(body)和若干属性构成。消息的主体可以由文本、二进制构成,根据需要还可以被加密。
在MSMQ中消息的大小不能够超过4MB。发送消息是通过Send方法来完成的,需要一个Message参数。
1、发送消息:
步骤:连接队列-->指定消息格式-->提供要发送的数据(主体)-->调用Send()方法将消息发送出去。详细见后面的示例程序。
2、序列化消息:
消息序列化可以通过.NET Framework附带的三个预定义格式化程序来完成:
-- XMLMessageFormatter对象----MessageQueue组件的默认格式化程序设置。
-- BinaryMessageFormatter对象;
-- ActiveXMessageFormatter对象;
由于后两者格式化后的消息通常不能为人阅读,所以我们经常用到的是XMLMessageFormatter对象。该对象构造方法有三种重载:
1、public XmlMessageFormatter();
2、public XmlMessageFormatter(string[] targetTypeNames);
3、public XmlMessageFormatter(Type[] targetTypes);
如我们后面的示例程序中用到的序列化语句:
//序列化为字符串
XmlMessageFormatter formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
五、读取和接收消息
1、读取消息:
也就是从指定队列中获取消息。
2、接收消息有两种方式:
--> 通过Receive()方法。
--> 通过Peek()方法。
MSMQ消息队列安装
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:配置文件的读写
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
wincc添加 消息队列
应公司任务分配,为WINCC组态软件开发方向。WINCC是西门子公司的一款组态软件。它是一款比较难伺候的开发工具,它对操作系统、及前驱软件的选择很有要求,在装WINCC之前就必须装好WIN SQL SERVER 2000
wincc添加 消息队列 ibm sql server server sqlserver