MSMQ消息隊列安裝


一、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()方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM