国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

.net 的 MSMQ 異步調(diào)用全過(guò)程分析

2019-11-18 12:04:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  1、引用System.messagiong.dll
  2、using System.messagiong 命名空間
  3、創(chuàng)建/建立自己需要的隊(duì)列(這里監(jiān)測(cè)專有隊(duì)列)
  string queuename=".//    MessageQueue q;
    if(MessageQueue.Exists(queuename) )
    {
    q=new System.Messaging.MessageQueue (queuename);
    }
    else
    {
    q=MessageQueue.Create(queuename);
    }
  這代代碼執(zhí)行后,會(huì)在消息隊(duì)列中的專有隊(duì)列看到名為testQueue的隊(duì)列。具體為治理工具--〉計(jì)算機(jī)治理--〉服務(wù)和應(yīng)用程序--〉消息隊(duì)列--〉專用隊(duì)列
  可以看到隊(duì)列中存在的消息
  4、向隊(duì)列發(fā)送消息
  兩種發(fā)送消息的方式:
  簡(jiǎn)單消息,直接利用q.send("....");的方式發(fā)送,復(fù)雜消息(譬如一個(gè)特定對(duì)象,當(dāng)然是可序列化的)采用
  Message m=new Message();
    m.Label ="msg1";
    m.Body ="test body";
    q.Send (m);
  發(fā)送。消息會(huì)采用缺省的
xml格式編碼送到隊(duì)列中
  5、消息接收
   主動(dòng)方式,會(huì)同步阻塞當(dāng)前線程
    Message m=Receive(); //接收同時(shí),從隊(duì)列中刪除消息
    or
    Message m=Peek(); //不刪除接收到的消息
   被動(dòng)方式,異步調(diào)用方式,不會(huì)阻塞當(dāng)前線程
    q.ReceiveCompleted +=new ReceiveCompletedEventHandler( ReceivedEvt); //事件
    q.BeginReceive();
    其中ReceivedEvt要么為靜態(tài)函數(shù),要么必須是屬于實(shí)例化的對(duì)象的可訪問(wèn)函數(shù)
     private static void ReceivedEvt(object source, ReceiveCompletedEventArgs asyncResult)
   {
    try
    {
    
    MessageQueue mq = (MessageQueue)source; 
    Message m = mq.EndReceive(asyncResult.AsyncResult);
           //此事m為異步接收到的消息
    //在此插入處理消息的代碼
    Console.WriteLine("接收到消息"+m.Label );
  
    mq.BeginReceive();//接收下一次事件
    }
    catch(MessageQueueException)
    {
    }         
    return;
   }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂昌县| 繁峙县| 云林县| 普洱| 淮北市| 日土县| 合山市| 富蕴县| 高清| 通化县| 抚顺县| 南城县| 谷城县| 阳谷县| 盈江县| 江陵县| 杭锦旗| 方山县| 离岛区| 化州市| 临西县| 晋中市| 霍林郭勒市| 长寿区| 双桥区| 商水县| 肇东市| 娄底市| 石屏县| 隆化县| 海城市| 化德县| 犍为县| 屏南县| 获嘉县| 静宁县| 磐安县| 高州市| 桐柏县| 梨树县| 山东|