msmq大消息發(fā)送與接收

msmq大消息發(fā)送與接收

ID:8820989

大?。?5.32 KB

頁數(shù):2頁

時(shí)間:2018-04-08

msmq大消息發(fā)送與接收_第1頁
msmq大消息發(fā)送與接收_第2頁
資源描述:

《msmq大消息發(fā)送與接收》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、MSMQ大消息發(fā)送與接收(大于4M)2010-11-2211:17??????前斷日子在網(wǎng)上狗了下大消息發(fā)送與接收的時(shí)候,發(fā)現(xiàn)這方面接收的比較少,經(jīng)過一段時(shí)間的學(xué)習(xí),現(xiàn)把學(xué)習(xí)成果和大家分享下。(基于biztalk)由于MSMQ是微軟提供的免費(fèi)的消息中間件,但是其只可以接收4M以下的消息,大于4M的消息就接收不了(強(qiáng)烈希望微軟人道點(diǎn),讓MSMQ能接收100M這樣消息),網(wǎng)上也有不少文章通過修改注冊表來擴(kuò)大消息容量,但是經(jīng)測試感覺不穩(wěn)定,在實(shí)際的項(xiàng)目中使用風(fēng)險(xiǎn)太大。還好微軟在Biztalk工具中提供了大消息發(fā)送接口,并帶了個(gè)很好的

2、例子(在安裝好的biztalk目錄中找到SDKSamplesAdaptersUsageMSMQLarge路徑中)不過需要注意消息隊(duì)列的路徑和正常的消息路徑不一樣,正確為:DIRECT=TCP:192.168.8.44private$TEST(前面FormatName)。但是他沒有提供MSMQ消息接收大消息的示例和接口,一開始的時(shí)候,我手動(dòng)組包,即根據(jù)“消息ID”后部分來組包(ID前部分一直的時(shí)候,如果后部分連續(xù),則認(rèn)為是同一個(gè)報(bào)文),最后批量發(fā)送大消息測試才發(fā)這方式行不通。不過突然想到,微軟既然自己能發(fā)送肯定它也能收

3、,于是我又到biztalk安裝目錄中尋找蛛絲馬跡,果然功夫不負(fù)有心人,在biztalk主目錄中找到了Microsoft.BizTalk.Adapter.MSMQ.Msmq開頭的程序集,心中不免一喜。新建一項(xiàng)目加入Microsoft.BizTalk.Adapter.MSMQ.MsmqLargeMessageWrapper.dll,測試果然可以接收大消息了!代碼如下(

4、TEST"/>):MessageQueuemessageQueue=newMessageQueue(config.MqPathReceive);????????MQRTLargeWrapperwrapper=newMQRTLargeWrapper();ManagedLargeMessagelargeMessage=null;try{largeMessage=wrapper.Receive(timeOut,messageQueue.ReadHandle,refmsgSize,IntPtr.Zero);}finally{messa

5、geQueue.Close();}包裝類中也包括了發(fā)送接口。到網(wǎng)上一查才知道這東西也太貴了,30多萬?。∵€是想辦法讓它脫離biztalk比較好點(diǎn),于是通過反編譯工具,找到包裝類引用了哪些程序集,就是Microsoft.BizTalk.Tracing.dll比較難搞,反編譯顯示在“全局程序集緩存”中,進(jìn)去一看才知道沒有dll的實(shí)際路徑的,郁悶!那就搜索biztalk的安裝目錄吧,沒有,那可能放到系統(tǒng)盤了,那就繼續(xù)吧搜windows目錄和ProgramFiles目錄,也沒有,超郁悶!不過還好,最好在安裝包中找到了這個(gè)程序集。一切具

6、備,把測試程序拷貝到?jīng)]有biztalk的環(huán)境下,還真的很好用(把mqrtlarge.dll放入到bin目錄中,否則發(fā)送會(huì)出異常?。U硐?,發(fā)送和接收大消息所需程序集有:1、mqrtlarge.dll(區(qū)分32和64位系統(tǒng))2、LargeMessages.dll(如果發(fā)送也是用包裝類的話,則此文件可以應(yīng)該可以不要,未測試)3、Microsoft.BizTalk.Streaming.dll4、Microsoft.BizTalk.Tracing.dll5、Microsoft.BizTalk.Adapter.MSMQ.MsmqAda

7、pterCommon.dll6、Microsoft.BizTalk.Adapter.MSMQ.MsmqLargeMessageWrapper.dll

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。