学习MSMQ笔记

一、感言

现在人家ms都出来WCF了,现在才刚开始研究MQ,真是感觉“这个世界变化好快啊”。真不知道,怎样才能跟上MS的快速的步伐。管他呢,反正MQ还不适很明白,先搞明白了再说。

二、学习笔记

1.消息队列和消息处理技术背景知识

学习知识就应该知道知识的背景,但是又是一大堆的东西,直接弄个msdn的链接吧。

2.创建消息队列

在看msdn的关于创建消息队列时,好久也没看明白创建MessageQueue实例和使用create方法的区别,可能是比较笨吧,其实仔细看下区别挺大的。

A、使用静态方法Create()创建的的队列是原来不存在的,使用create创建出来的是全新的队列,这也和create这个词意思相似,”创建“。

create()方法用两个重载方法:

Create(String) 在指定的路径中创建非事务性“消息队列”队列。

Create(String, Boolean) 在指定的路径中创建事务性或非事务性“消息队列”队列。

那个Boolean类型的参数就是限定是否创建事务性队列,true,表示是。

使用Create()创建队列的例子:

 System.Messaging.MessageQueue MessageQueue1 =
           new System.Messaging.MessageQueue();

           MessageQueue1 = System.Messaging.MessageQueue.Create(".\\MyQueue");
        // MessageQueue1 = System.Messaging.MessageQueue.Create(".\\MyTransQueue", true);

B、使用MessageQueue mq = new MessageQueue(path)创建的实例,其实是对现有队列的引用,也就是使用原来已经存在的队列的路径名作为参数来实例化一个新的队列,以执行一些列操作。

例子就很简单了:

MessageQueue messageQueue1 = new MessageQueue(“.\\MyQueue”);

当然创建队列还有好多项,比如:使用 路径名,格式户名,标签等等,以后在慢慢加上。

3.说说检索队列吧。

分为检索静态列表和检索动态列表。

A、检索静态列表

使用MessageQueue的一些静态方法GetPublicQueues()或者GetPublicQueuesBy*()检索静态列表,检索后返回MessageQueue数组列表。使用GetPublicQueues()时,可以传递一个MessageQueueCriteria类的实例来筛选队列列表。

B、检索动态列表

使用MessageQueue的GetMessageQueueEnumerator ()方法检索动态列表,返回MessageQueueEnumerator 的对象,也可以传递一个MessageQueueCriteria类的实例来筛选队列列表。

好了,就写这些吧,好晚才开始看,所以拖到现在才写,本来不想写的,因为这些知识对很多人来说都是老生长谈了,现在写下来会让人感觉没意思。但是,记得有这麽一句话,忘了谁说的了,“要想进步,要多看书,多学习,还要坚持写博客”,所以为了我进步,我也就硬着头皮写了这些,以后会继续的。

 

 

posted @ 2009-06-01 00:32  acles  阅读(340)  评论(0编辑  收藏  举报