自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

百寶箱演示W(wǎng)CF消息隊(duì)列解決方案

開發(fā) 后端
這里介紹了WCF消息隊(duì)列,分析了XmlMessageFormatter的作用是進(jìn)行消息的XML串行化,希望對(duì)大家有幫助。

消息就是信息的來源,在WCF中消息隊(duì)列分為公共隊(duì)列、專用隊(duì)列、管理隊(duì)列、響應(yīng)隊(duì)列四種,下面我們就簡(jiǎn)單的分析一下WCF消息隊(duì)列吧。MessageQueue.Create參數(shù)是存放消息隊(duì)列的位置.這個(gè)基本就完成了創(chuàng)建和發(fā)送消息的主程序.下面我們來建立一個(gè)客戶端,來訪問消息隊(duì)列,獲取消息,同樣建立一個(gè)控制臺(tái)應(yīng)用程序,添加引用和代碼:

  1. 1namespace MSMQClient  
  2. class Program  
  3. {  
  4. static void Main(string[] args)  
  5. {  
  6. //Get public queue message  
  7. if (MessageQueue.Exists(@".FrankMSMQ"))//判斷是否存在消息隊(duì)列  
  8. {  
  9.  
  10. using(MessageQueue mq = new MessageQueue(@".FrankMSMQ"))//創(chuàng)建消息隊(duì)列對(duì)象  
  11. {  
  12. mq.Formatter = new XmlMessageFormatter(new string[] { "System.String" });//設(shè)置消息隊(duì)列的格式化器  
  13. //mq.Send("Sample Message", ":Label");  
  14. Message msg = mq.Receive();//從隊(duì)列接受消息  
  15. Console.WriteLine("Received MSMQ Message is :{0}", msg.Body);//輸出消息  
  16. }  
  17. //Console.Read();  
  18. }  
  19. //Get private queue message  
  20. if (MessageQueue.Exists(@".Private$FrankMSMQ"))//判斷私有消息是否存在  
  21. {  
  22. using (MessageQueue mq = new MessageQueue(@".Private$FrankMSMQ"))  
  23. {  
  24. mq.Formatter = new XmlMessageFormatter(new string[] { "System.String" });//設(shè)置消息隊(duì)列格式化器  
  25. //mq.Send("Sample Message", ":Label");  
  26. Message msg = mq.Receive();//接收消息  
  27. Console.WriteLine("Received MSMQ Private Message is: {0}", msg.Body);//輸出消息  
  28. }  
  29. }  
  30. Console.Read();  
  31. }  
  32. }  
  33. }  

#T#消息接收同樣需要實(shí)例化一個(gè)WCF消息隊(duì)列對(duì)象, using(MessageQueue mq = new MessageQueue(@".FrankMSMQ"))負(fù)責(zé)創(chuàng)建WCF消息隊(duì)列對(duì)象.其次 mq.Formatter = new XmlMessageFormatter(new string[] { "System.String" })這行代碼負(fù)責(zé)設(shè)置消息隊(duì)列的格式化器,因?yàn)橄⒌膫鬟f過程中存在格式化的問題.我們接收消息的時(shí)候必須指定消息隊(duì)列的格式化屬性Formatter, 隊(duì)列才能接受消息。

XmlMessageFormatter的作用是進(jìn)行消息的XML串行化.BinaryMessageFormatter則把消息格式化為二進(jìn)制數(shù)據(jù)進(jìn)行傳輸.ActiveXMessageFormatter把消息同樣進(jìn)行二進(jìn)制格式化,區(qū)別是可以使用COM讀取隊(duì)列中的消息.當(dāng)然消息隊(duì)列還可以發(fā)送復(fù)雜的對(duì)象,前提是這個(gè)對(duì)象要可串行化,具體的格式取決與隊(duì)列的格式化器設(shè)置.此外消息隊(duì)列還支持事務(wù)隊(duì)列來確保消息只發(fā)送一次和發(fā)送的順序.最近在研究SOA,所以系統(tǒng)系統(tǒng)學(xué)習(xí)一下WCF及其相關(guān)的技術(shù),以上就是這個(gè)消息隊(duì)列的基本的概念和簡(jiǎn)單的編程實(shí)現(xiàn).下一節(jié)是關(guān)于.Net Remoting的基礎(chǔ)知識(shí)和開發(fā)的文章.~

責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-05 11:12:21

WCF自宿主

2015-09-22 15:24:27

SDNDocker

2015-09-22 16:11:41

SDNDocker

2009-10-28 13:54:38

linux安裝顯卡驅(qū)動(dòng)

2009-10-28 12:05:32

linux監(jiān)控技術(shù)

2011-04-13 09:40:27

2009-11-12 14:18:19

ADO.NET分頁

2009-10-27 13:14:35

VB.NET窗體應(yīng)用

2009-10-28 18:35:10

Linux基礎(chǔ)用戶

2009-10-28 09:48:31

VB.NET XmlR

2009-10-28 14:51:33

VB.NET設(shè)計(jì)制作窗

2009-11-03 16:17:39

ADO.NET Ent

2025-04-17 08:28:13

2009-10-27 15:42:04

VB.NET文件對(duì)象

2009-11-16 14:52:16

PHP數(shù)組

2009-11-03 16:57:34

ADO.NET FAQ

2009-11-18 18:18:10

PHP Web查詢數(shù)據(jù)

2016-01-14 14:17:51

密碼管理密碼分析安全工具

2017-07-05 11:09:35

華為開發(fā)云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)