.NET 訊息佇列 基礎

來源:互聯網
上載者:User
訊息基礎:windows底層msmq(microsoft message queue)訊息佇列1. 基本術語和概念(basic terms and concepts)“訊息”是在兩台電腦間傳送的資料單位。訊息可以非常簡單,例如只包含文本字串;也可以更複雜,可能包含內嵌物件。滑鼠移動、按鍵被按下、視窗被關閉.,這些都會產生訊息。在Windows作業系統中,訊息是以下面的資料結構存在的.typedef struct tagMSG {  HWND hwnd;  UINT message;  WPARAM wParam;  LPARAM lParam;  DWORD time;  POINT pt; } MSG;  訊息內有六個資訊,分別是:  . hwnd:視窗/控制項的唯一hwnd的編號。訊息迴圈會根據此資訊,將訊息送到正確目標。  . message:Windows預先定義的訊息種類的ID。  . wParam 與lParam:有些message本身需要攜帶更多的資訊,這些資訊就放在wParam與lParam中。  . time與pt:訊息發生當時的時間與滑鼠位置一些基本名詞解釋:Message Queue每個程式系統都會幫我們產生一個訊息佇列Windows Procedure(WndProc):通常“每一種”視窗或控制項(control)都有一個Windows Procedure,來處理該種視窗/控制項的行為.NET Framework如何封裝訊息迴圈  .NET Framework的Windows Forms將訊息迴圈封裝起來,以方便我們使用。本節中所提到的類(class),都是屬於System.Windows.Forms名字空間(namespace)。訊息佇列:msmq與xml web services和.net remoting一樣,是一種分布式開發技術。但是在使用xml web services或.net remoting組件時,client端需要和server端即時交換資訊,server需要保持聯機。msmq則可以在server離線的情況下工作,將message臨時儲存在client端的訊息佇列中,以後聯機時再發送到server端處理。顯然,msmq不適合於client需要server端及時響應的這種情況,msmq以非同步方式和server端互動,不用擔心等待server端的長時間處理過程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.