講解什麼是MSMQ
MSMQ(MicroSoft Message Queue),微軟訊息佇列)是一種在多個不同的應用程式之間實現相互通訊的一種非同步傳輸模式,相互通訊的應用可以分佈於同一台機器上,也可以分佈於相連的網路空間中的任一位置。它的實作原理是:訊息的發送者把自己想要傳送的訊息放入一個容器中(我們稱之為Message),然後把它保存至一個系統公用空間的訊息佇列(Message Queue)中;本地或是異地的訊息接收程式再從該佇列中取出發給它的訊息進行處理。
在訊息傳遞機制中,有兩個比較重要的概念。一個是訊息,一個是隊列。訊息是由溝通的雙方所需要傳遞的訊息,它可以是各式各樣的媒體,如文字、聲音、圖像等等。訊息最終的理解方式,為訊息傳遞的雙方事先商定,這樣做的好處是,一是相當於對資料進行了簡單的加密,二則採用自己定義的格式可以節省通訊的傳遞量。訊息可以含有發送和接收者的標識,這樣只有指定的使用者才能看到只傳遞給他的訊息和返回是否操作成功的回執。訊息也可以含有時間戳,以便於接收方對某些與時間相關的應用進行處理。訊息還可以含有到期時間,它表明如果在指定時間內訊息還未到達則作廢,這主要應用與時間性關聯較為緊密的應用。
訊息佇列是發送和接收訊息的公用儲存空間,它可以存在於記憶體中或是實體檔案中。訊息可以以兩種方式發送,即快遞方式(express)和可恢復模式(recoverable),它們的區別在於,快遞方式為了訊息的快速傳遞,把訊息放置於記憶體中,而不放於實體磁碟上,以獲得較高的處理能力;可恢復模式在傳送過程的每一步驟中,都把訊息寫入實體磁碟中,以獲得較好的故障復原能力。訊息佇列可以放置在發送方、接收方所在的機器上,也可以單獨放置在另外一台機器上。正是由於訊息佇列在放置方式上的彈性,形成了訊息傳送機制的可靠性。當保存訊息佇列的機器發生故障而重新啟動以後,以可恢復模式發送的訊息可以恢復到故障發生之前的狀態,而以快遞方式發送的訊息則遺失了。另一方面,採用訊息傳遞機制,發送方必要再擔心接收方是否啟動、是否發生故障等等非必要因素,只要訊息成功發送出去,就可以認為處理完成,而實際上對方可能甚至未曾開機,或者實際完成交易時可能已經是第二天了。
採用MSMQ帶來的好處是:由於是異步通信,無論是發送方還是接收方都不用等待對方返回成功訊息,就可以執行餘下的程式碼,因而大大地提高了事物處理的能力;當訊息傳送過程中,訊息傳送機制具有一定功能的故障復原能力;MSMQ的訊息傳遞機制使得訊息通訊的雙方具有不同的實體平台成為可能。
在微軟的.net平台上利用其提供的MSMQ功能,可以輕鬆創建或刪除訊息佇列、發送或接收訊息、甚至於對訊息佇列進行管理。
在.NET產品中,提供了一個MSMQ類別庫「System.Messaging.dll」。它提供了兩個類別分別對訊息物件和訊息佇列物件進行操作。在能夠使用MSMQ功能之前,你必須確定你的機器上安裝了MSMQ訊息佇列元件,並確保服務正在運作中。使用ASP.NET程式設計時,應在頭部使用:
<%@ Assembly Name=”System.Messaging”%>
<%@ Import NameSpace=”System.Messsaging”%>
將MSMQ類別庫引入ASP.NET文件。
以上是講解什麼是MSMQ的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用 C# 的 Active Directory 指南。在這裡,我們討論 Active Directory 在 C# 中的介紹和工作原理以及語法和範例。

多線程和異步的區別在於,多線程同時執行多個線程,而異步在不阻塞當前線程的情況下執行操作。多線程用於計算密集型任務,而異步用於用戶交互操作。多線程的優勢是提高計算性能,異步的優勢是不阻塞 UI 線程。選擇多線程還是異步取決於任務性質:計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。
