C# 訊息佇列-Microsoft Azure service bus 服務匯流排

來源:互聯網
上載者:User

標籤:[]   ebe   fit   rom   color   建立   code   letter   receive   

先決條件
  1. Visual Studio 2015或更高版本。本教程中的樣本使用Visual Studio 2015。
  2. Azure訂閱。
  注意

  要完成本教程,您需要一個Azure帳戶。您可以啟用MSDN訂閱者優惠或註冊一個免費帳戶。

1.使用Azure門戶建立一個命名空間

如果已經建立了Service Bus命名空間,請跳轉到使用Azure門戶部分建立隊列。+

建立服務命名空間

要在Azure中開始使用服務匯流排隊列,必須首先建立一個命名空間。命名空間提供了一個用於在應用程式中定址服務匯流排資源的範圍容器。

建立命名空間:

  1. 登入到Azure門戶。
  2. 在門戶的左側瀏覽窗格中,單擊建立,然後單擊企業整合,然後單擊服務匯流排。
  3. 在“ 建立命名空間 ”對話方塊中,輸入命名空間名稱。系統立即檢查該名稱是否可用。
  4. 確保命名空間名稱可用後,選擇定價層(基本,標準或進階)。
  5. 在預訂欄位中,選擇要在其中建立命名空間的Azure訂閱。
  6. 在“ 資源群組”欄位中,選擇命名空間將存在的現有資源群組,或建立一個新的資源群組。
  7. 在位置中,選擇應託管您的命名空間的國家或地區。

  8. 單擊建立。系統現在建立您的命名空間並啟用它。您可能需要等待幾分鐘,因為系統為您的帳戶提供資源。
擷取管理認證
  1. 在命名空間列表中,單擊新建立的命名空間名稱。
  2. 在命名空間刀片中,單擊共用存取原則。
  3. 在共用存取原則刀片中,單擊RootManageSharedAccessKey。

  4. 在策略:RootManageSharedAccessKey刀片中,單擊連接字串主鍵旁邊的複製按鈕,將連接字串複製到剪貼簿以備將來使用。將此值粘貼到記事本或某個其他臨時位置。

  5. 重複上一步驟,將主鍵的值複製並粘貼到臨時位置以備將來使用。

2.使用Azure門戶建立隊列

如果已經建立了服務匯流排隊列,請跳轉到向隊列發送訊息部分。

請確保你已經建立了一個服務匯流排命名空間,這裡。

  1. 登入到Azure門戶。
  2. 在門戶的左側瀏覽窗格中,單擊服務匯流排(如果未看到服務匯流排,請單擊更多服務)。
  3. 選擇要建立隊列的命名空間。在這種情況下,它是nstest1。

  4. 在Service Bus命名空間刀片中,選擇隊列,然後單擊添加隊列。

  5. 輸入隊列名稱,並保留其他值及其預設值。

  6. 在刀片的底部,單擊建立。
3.將訊息發送到隊列

要將訊息發送到隊列,我們??將使用Visual Studio編寫一個C#控制台應用程式。

建立控制台應用程式
  • 啟動Visual Studio並建立一個新的控制台應用程式。
添加服務匯流排NuGet包
  1. 按右鍵新建立的項目,然後選擇管理NuGet包。
  2. 單擊瀏覽選項卡,然後搜尋“Microsoft Azure服務匯流排”並選擇Microsoft Azure服務匯流排項目。單擊安裝完成安裝,然後關閉此對話方塊。

編寫一些代碼以將訊息發送到隊列
  1. 將以下using語句添加到Program.cs檔案的頂部。

    using Microsoft.ServiceBus.Messaging;

     

  2. 下面的代碼添加到Main方法,設定的connectionString變數,建立命名空間時所獲得的,並設定連接字串QUEUENAME作為建立隊列時使用的隊列名稱。

    var connectionString = "<Your connection string>"; var queueName = "<Your queue name>"; var client = QueueClient.CreateFromConnectionString(connectionString, queueName); var message = new BrokeredMessage("This is a test message!"); client.Send(message);

     

     

    這裡是你的Program.cs應該是什麼樣子。

     using System; using Microsoft.ServiceBus.Messaging; namespace GettingStartedWithQueues {     class Program     {         static void Main(string[] args)         {             var connectionString = "<Your connection string>";             var queueName = "<Your queue name>";             var client = QueueClient.CreateFromConnectionString(connectionString, queueName);             var message = new BrokeredMessage("This is a test message!");             client.Send(message);         }     } }

     

  3. 運行程式,並檢查Azure門戶。在命名空間概要刀片中單擊隊列的名稱。請注意,活動訊息計數值現在應為1。

4.從隊列接收訊息
  1. 建立一個新的控制台應用程式並添加對Service Bus NuGet包的引用,類似於上一個發送應用程式。
  2. 將以下語句using添加到Program.cs檔案的頂部。

     using Microsoft.ServiceBus.Messaging;
  3. 下面的代碼添加到Main方法,設定的connectionString變數,建立命名空間時所獲得的,並設定連接字串QUEUENAME如您在建立隊列時使用的隊列名稱。

     var connectionString = ""; var queueName = "samplequeue"; var client = QueueClient.CreateFromConnectionString(connectionString, queueName); client.OnMessage(message => {   Console.WriteLine(String.Format("Message body: {0}", message.GetBody<String>()));   Console.WriteLine(String.Format("Message id: {0}", message.MessageId)); }); Console.ReadLine();

     

    這裡是你的Program.cs檔案應該是什麼樣子:

    using System; using Microsoft.ServiceBus.Messaging; namespace GettingStartedWithQueues {   class Program   {     static void Main(string[] args)     {       var connectionString = "";       var queueName = "samplequeue";       var client = QueueClient.CreateFromConnectionString(connectionString, queueName);       client.OnMessage(message =>       {         Console.WriteLine(String.Format("Message body: {0}", message.GetBody<String>()));         Console.WriteLine(String.Format("Message id: {0}", message.MessageId));       });       Console.ReadLine();     }   } }

     

  4. 運行程式,並檢查門戶。請注意,隊列長度值現在應為0。

恭喜!您現在已建立一個隊列,發送了一條訊息,並收到了一條訊息。

 

參考資料:https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues

   

C# 訊息佇列-Microsoft Azure service bus 服務匯流排

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.