国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 潜山县| 阿瓦提县| 屏边| 龙陵县| 稻城县| 从江县| 孟州市| 习水县| 西充县| 张家川| 红安县| 金乡县| 同心县| 方城县| 平罗县| 阿坝| 芷江| 普兰县| 南充市| 濉溪县| 镶黄旗| 潼南县| 当雄县| 成都市| 巴林右旗| 同仁县| 洪湖市| 进贤县| 九龙城区| 图木舒克市| 浮山县| 雅江县| 满洲里市| 集安市| 樟树市| 济宁市| 娄烦县| 阜康市| 平武县| 柳林县| 威信县|