Azure Service Bus is a cloud delivery messaging service.

Azure Service Bus Models

Service bus has two primary ways of enabling messaging, these are :

Queue model [one to one]:  Many Front End applications send messages to the queue and one application on the back end serves those requests in order of priority,
Topic model [one to many]: This is a publish-subscribe model, push the message into a topic and that message sent to all subscribers one to many, e.g Twitter or Facebook feeds.

Deploy your first Service Bus

Create Namespace

To deploy a Service Bus  first it is needed to create a Namespace. Type at field Name the FQDN for the namespace, e.g cloudopszone.servicebus.windows.net.

 
Useful Notice : Fully Qualified Domain Name (FQDN), must be unique

Create Queue

Now, to create a Queue, click +Queue and fill the Create queue blade.

Shared Access Policies

Note the Shared Access Policies, because by default there is one single key the RootManageSharedAccessKey, this key allows Admin access to the queue. Also here are the keys and the connection strings.

Service Bus queue App

The following instructions describe how a  C# application can use Azure Service Bus Queue.

Create a console app

Open Visual Studio – FileNew Project… , select Visual C# – Windows Classic Desktop – Console App (.Net Framework).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Azure Service Bus NuGet Package

Install the WindowsAzure.ServiceBus NuGet package. From ToolsNuGet Package ManagerManage NuGet Packages for Solution…

Add the Service Bus Messaging Namespace

Type the code using Microsoft.ServiceBus.Messaging at the Program.cs, like the next image.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;

 

Create Connection, Send and Read a Test Message

In the following code create a connection (using the Azure Service Bus connection string), Queue (type the name of the queue), Client (type the parameters for connection string and queue), a message (type your test message) and send the message.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.ServiceBus.Messaging;

namespace cloudopszoneSBQ
{
    class Program
    {
        static void Main(string[] args)
        {
            
            var myconn = "Endpoint=sb://cloudopszone.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=p2uEdJDXwdcl/RKo95B4hnHfKQv528/67KpiCzGyv2w=";
            var myqueue = "myqueue";

            var myclient = QueueClient.CreateFromConnectionString(myconn,myqueue);
            var mymessage = new BrokeredMessage("This is a cloudopszone test message");
            myclient.Send(mymessage);

            Console.ReadKey();
        }
    }
}

Bellow the code that does the work for the message read.

myclient.OnMessage(message =>
{
  Console.WriteLine("The message is :" + mymessage.GetBody<string>());
});

 

Build the App and Run The Code To Send The Message

First build the code, from BuildBuild Solution and after the build succeeded run the app by click Start. Now, go back to the Azure Portal Service Bus Queue and there are 2 Active Messages.

….. and here is the result from the message read.

 

Share This