程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 在ASP.NET中進行消息處理(MSMQ) 二

在ASP.NET中進行消息處理(MSMQ) 二

編輯:關於ASP.NET

在我上一篇文章《ASP.NET中進行消息處理(MSMQ)一》裡對MSMQ做了個通俗的介紹,最後以發送普通文本消息和復雜的對象消息為例介紹了消息隊列的使用。本文在此基礎上繼續介紹MSMQ的相關知識點,最後還是通過一個示例程序來分析MSMQ在實際項目開發中的應用。

建議:如果你對MSMQ不夠了解,在你閱讀本文前請先閱讀第一部分:《ASP.NET中進行消息處理(MSMQ)一》。

一、消息傳遞的優先級

在MSMQ中消息在隊列裡傳輸是分有優先級的,這裡我就以實例的形式介紹下關於優先級的使用,優先級一共有七種,MessagePriority枚舉裡全部進行了封裝。因這裡只作程序演示就不一一列舉出,僅用了Highest和Normal兩種類型,關於消息隊列上進行消息傳輸的七種優先級大家可以參考我下面提供的MessagePriority枚舉源代碼定義。

那麼在發送消息的時候怎麼指定消息的優先級呢?在Message對象裡封裝有一個屬性Priority,接受一個枚舉MessagePriority類型的值來設置消息傳輸的優先級。如下:

1System.Messaging.Message message = new System.Messaging.Message();
2message.Priority = MessagePriority.Highest; //最高消息優先級

下面來看看一個在消息傳輸中使用優先級的示例程序,通過示例程序會學習得更明白。示例程序界面:

根據界面可知,提供了消息名字,消息優先級和消息內容三個輸入項,前面曾經說過,這裡為了方便演示就僅用了Highest和Normal兩種類型,當點擊發送消息的時候就通過是否選擇優先級來設置消息的優先級,代碼如下:

1private void btnSend_Click(object sender, EventArgs e)
2{
3  //連接到本地的專用隊列myQueue
4  MessageQueue myQueue = new MessageQueue(".\\private$\\myQueue");
5  System.Messaging.Message message = new System.Messaging.Message();
6  message.Label = tbName.Text;
7  message.Body = tbContext.Text;
8
9  if (cbPriority.Checked)
10  {
11    message.Priority = MessagePriority.Highest;
12  }
13  else
14  {
15    message.Priority = MessagePriority.Normal;
16  }
17  myQueue.Send(message);
18  MessageBox.Show("成功發送消息到隊列");
19}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved