




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MSMQ消息队列浅析,gaolei,消息队列介绍 为什么要用消息队列 消息队列的安装 消息队列的路径声明 消息队列的消息封装 消息队列的发送 消息队列的接收 AutoSense的应用,消息队列介绍,消息队列(MSMQMicrosoft Message Queue)是运行在 Windows操作系统上的一个服务 ,它提供了运用程序之间的异步消息处理。是消息应用程序的基础。 消息队列的思想见文知意,就是在操作系统之间将相同格式的消息体互相传递,而且消息在接受方按照队列(先进先出的原则)方式进行顺序处理的技术。,MSDN地址:,为什么要用消息队列,处理并发的负荷较高的业务,将并发的事件顺序执行。 处理
2、不需要立即响应的业务,分散处理时间,缓解处理压力。 跨服务器传递支持分布式并行处理方式,为无限制扩大处理能力提供保证。 可恢复模式在传送过程的每一步骤中,都把消息写入物理磁盘中,以得到较好的故障恢复能力。即使接收方已经关机亦不妨碍。 队列的顺序处理保证了有关联关系的业务处理逻辑是正确的。 更紧急或更重要的消息可在相对不重要的消息之前接收,因此可以为关键的应用程序保证足够的响应时间。 消息体事先约定,相当于对数据进行加密。 采用自己定义的格式可以节省通信的传递量 。 消息可以含有时间戳,可做时间一致和过期作废等处理。,消息队列类型,公共队列 MachineNameQueueName 能被别的机器
3、所访问,如果你的多个项目中用到消息队列,那么你可以把队列定义为公共队列 专用队列 MachineNamePrivate$QueueName 只针对于本机的程序才可以调用的队列,有些情况下为了安全起见定义为私有队列。 日志队列 MachineNameQueueNameJournal$,消息队列的安装,消息队列属于Windows组件可以在,组件安装中找到并快速安装。,消息队列的路径声明, ,消息队列的消息封装,消息队列在.Net框架中得到了很好的支持,开发简便。它使用的命名空间是System.Messaging。需要项目引用DLL。 消息队列经过序列化将消息发送出去,这一过程由系统自动完成了,程序
4、开发人员不必为此编写代码,然而在接收到消息后就面临着消息序列化的问题。 消息的序列化可以通过.Net附带的三个预定义的格式化程序来完成:XMLMessageFormatter 对象( MessageQueue 组件的默认格式化程序设置)、BinaryMessageFormatter 对象、ActiveXMessageFormatter 对象。,消息队列的发送,消息队列的发送方法很简单,根据消息体是否为类型可分为两种: 简单类型: Mq.Send(1000); /发送整型数据 Mq.Send(“This is a test message!”); /发送字符串 引用类型: MsgTest Msg
5、=new MsgTest(); Msg.Label=”This is the label”; Msg.Level=2; Mq.Send(Msg);,消息队列的接收,同步接收消息,接收消息的代码很简单: Mq.Receive(); Mq.Receive(TimeSpan timeout); /设定超时时间 Mq.ReceiveById(ID); Mq.Peek(); Receive方法接收消息同时永久性地从队列中删除消息; Peek方法从队列中取出消息而不从队列中移除该消息。 异步接受消息,利用委托机制(autosense采用) MessQueue.ReceiveCompleted +=new ReceiveCompletedEventHandler(mq_ReceiveCompleted
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保山2025年云南保山市隆阳区瓦马彝族白族乡汶上卫生院乡村医生招聘笔试历年参考题库附带答案详解
- 云南2025年云南国土资源职业学院招聘54人笔试历年参考题库附带答案详解
- 2025浙江宁波市余姚市公共交通有限公司招聘25人笔试参考题库附带答案详解
- Peptide-R-TFA-生命科学试剂-MCE
- 药材收购 合同范本
- 研究项目中的财务规划与预算编制的协同性
- 医药进口合同范本
- 社交网络中教育信息传播的策略与实践
- 科技产品的用户界面颜色选择
- 社区文化活动与地方特色的结合
- (正式版)HG∕T 21633-2024 玻璃钢管和管件选用规定
- 张祖庆祖父的园子教学课件
- 《现代汉语语法》PPT课件(完整版)
- 性病实验室检测与质量管理
- 高桩码头施工组织设计(福建)
- 全国江苏小学科学学科教师基本功大赛试题汇总(共19页)
- 这一封书信来得巧
- 监狱服装加工企业开展全面
- 标书密封条格式模版(共19页)
- 小学一年级硬笔书法入门(课堂PPT)
- ARM学习资料.Cortex-M3处理器体系结构
评论
0/150
提交评论