微软MSMQ消息件研究.doc

微软MSMQ消息件研究.doc

ID:51838433

大小:37.37 KB

页数:25页

时间:2020-03-16

微软MSMQ消息件研究.doc_第1页
微软MSMQ消息件研究.doc_第2页
微软MSMQ消息件研究.doc_第3页
微软MSMQ消息件研究.doc_第4页
微软MSMQ消息件研究.doc_第5页
资源描述:

《微软MSMQ消息件研究.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、......一、基本概述MSMQ(MicroSoftMessageQueue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(MessageQueue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。  在消息传递机制中,有两个比较重要的概念。一个是消息,一个是队列。消息是由通信的双方所需要传递的信息,它可以是各式各样的媒体,如文本、声音

2、、图象等等。消息最终的理解方式,为消息传递的双方事先商定,这样做的好处是,一是相当于对数据进行了简单的加密,二则采用自己定义的格式可以节省通信的传递量。消息可以含有发送和接收者的标识,这样只有指定的用户才能看到只传递给他的信息和返回是否操作成功的回执。消息也可以含有时间戳,以便于接收方对某些与时间相关的应用进行处理。消息还可以含有到期时间,它表明如果在指定时间内消息还未到达则作废,这主要应用与时间性关联较为紧密的应用。  消息队列是发送和接收消息的公用存储空间,它可以存在于内存中或者是物理文件中。消息可以以两种方式发送,即快递方式(express)和可恢复模式(recoverable),

3、它们的区别在于,快递方式为了消息的快速传递,把消息放置于内存中,而不放于物理磁盘上,以获取较高的处理能力;可恢复模式在传送过程的每一步骤中,都把消息写入物理磁盘中,以得到较好的故障恢复能力。消息队列可以放置在发送方、接收方所在的机器上,也可以单独放置在另外一台机器上。正是由于消息队列在放置方式上的灵活性,形成了消息传送机制的可靠性。当保存消息队列的机器发生故障而重新启动以后,以可恢复模式发送的消息可以恢复到故障发生之前的状态,而以快递方式发送的消息则丢失了。另一方面,采用消息传递机制,发送方必要再担心接收方是否启动、是否发生故障等等非必要因素,只要消息成功发送出去,就可以认为处理完成,而

4、实际上对方可能甚至未曾开机,或者实际完成交易时可能已经是第二天了。应用程序发送消息到MSMQ,而MSMQ用消息的队列来确保消息可最终到达他的目的地。MSMQ提供可保证的消息交付、有效的消息路由、安全和基于优先权的消息传递。MSMQ主要的使用函数:利用MSMQ,最终用户可越过有时也会脱机的网络和系统相互通讯,使其独立于通讯程序和系统的当前状态。而开发者可利用MSMQ把精力集中于商务处理的编程而不是网络问题,因为MSMQ提供了网络通讯方面的保证。系统管理员可用MSMQ的Explorer有效地管理大型的、复杂的网络上的消息队列。通过MSMQ,MIS系统的决策人可获得更可信赖的通讯在诸于审查、网

5、络相关的分布应用程序;有效使用网络资源;减少软件开发和维护时间;提高生产率从最终用户、开发人员及系统管理人员。二、基本操作方法用create方法创建你指定路径的消息队列,使用delete方法删除一个已经存在的消息队列。使用exists方法判别是否存在一个消息队列。使用GetPublicQueues方法获取消息队列网络中的一个消息队列使用Peek或者是BeginPeek方法查看消息队列中的消息,而不会删除它们使用Receive或者上BeginReceive方法从消息队列中取出一个消息,同时在消息队列中删除它。使用Send方法,送一个消息到指定的消息队列中。消息队列的操作专业技术资料....

6、..1.创建消息队列。创建公共消息队列MessageQueue.Create(“MyMachineMyQueue”)。创建私有消息队列MessageQueue.Create(“MyMachinePrivate$MyPrivateQueue”)说明:标识Private$表示创建的是私有消息队列2.队列引用说明当你创建了一个MessageQueue部件的一个实例以后,就应指明和哪个队列进行通信。在。Net中有3种访问指定消息队列的方法:。使用路径,消息队列的路径被机器名和队列名唯一确定,因而可以用消息队列路径来指明使用的消息队列。。使用格式名(formatname),它是由MSMQ在消

7、息队列创建时或者应用程序在队列创建以后生成的唯一标识。。使用标识名(label),它是消息队列创建时由队列管理者指定的带由描述意义的名字。它可能并不唯一。采用路径(path)方式引用队列消息队列类型路径使用格式PublicqueueMachineNameQueueNamePrivatequeueMachineNamePrivate$QueueNameJournalqueueMachineNameQueueNameJourn

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。