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

首頁 > 編程 > .NET > 正文

.net的MSMQ異步調(diào)用

2024-07-10 12:59:25
字體:
來源:轉載
供稿:網(wǎng)友
中國最大的web開發(fā)資源網(wǎng)站及技術社區(qū),
1、引用system.messagiong.dll
2、using system.messagiong 命名空間
3、創(chuàng)建/建立自己需要的隊列(這里監(jiān)測專有隊列)

string queuename=".//private$//testqueue";
messagequeue q;
if(messagequeue.exists(queuename) )
{
q=new system.messaging.messagequeue (queuename);
}
else
{
q=messagequeue.create(queuename);
}
這代代碼執(zhí)行后,會在消息隊列中的專有隊列看到名為testqueue的隊列。具體為管理工具--〉計算機管理--〉服務和應用程序--〉消息隊列--〉專用隊列
可以看到隊列中存在的消息
4、向隊列發(fā)送消息
兩種發(fā)送消息的方式:
簡單消息,直接利用q.send("....");的方式發(fā)送,復雜消息(譬如一個特定對象,當然是可序列化的)采用
message m=new message();
m.label ="msg1";
m.body ="test body";
q.send (m);
發(fā)送。消息會采用缺省的xml格式編碼送到隊列中
5、消息接收
主動方式,會同步阻塞當前線程
message m=receive(); //接收同時,從隊列中刪除消息
or
message m=peek(); //不刪除接收到的消息
被動方式,異步調(diào)用方式,不會阻塞當前線程
q.receivecompleted +=new receivecompletedeventhandler( receivedevt); //事件
q.beginreceive();
其中receivedevt要么為靜態(tài)函數(shù),要么必須是屬于實例化的對象的可訪問函數(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ā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永宁县| 阆中市| 北宁市| 延寿县| 平南县| 三门县| 锡林郭勒盟| 桂林市| 玛纳斯县| 化德县| 宿迁市| 靖西县| 团风县| 石嘴山市| 宣化县| 营山县| 德化县| 定兴县| 五华县| 屯门区| 新津县| 南充市| 海阳市| 吐鲁番市| 获嘉县| 陆川县| 沅陵县| 库尔勒市| 莫力| 应城市| 大港区| 海晏县| 平舆县| 红桥区| 延津县| 婺源县| 宣恩县| 姜堰市| 万全县| 聂荣县| 宜州市|