Writing and Reading Messages in Azure Queue

You can Send Message to Queue or Read all the Message from Azure Queue using the following code blocks.

Sending Message to Azure Queue

using Microsoft.ServiceBus.Messaging;
private async Task SendMessageToQueue(string message)
{
     string serviceBusConnString = "****** Your Service bus Connection String ******";

     string queueName = "Your Queue name";

     QueueClient client = QueueClient.CreateFromConnectionString(serviceBusConnString, queueName, ReceiveMode.PeekLock);

     BrokeredMessage brokeredMessage = new BrokeredMessage(message);

     brokeredMessage.TimeToLive = new TimeSpan(3, 0, 0);

      await client.SendAsync(brokeredMessage);

}

Reading all the Message from Azure Queue

using Microsoft.ServiceBus.Messaging;

private async Task ReadMessagesFromQueue(string message)
{

     string serviceBusConnString = "****** Your Service bus Connection String ******";

     string queueName = "Your Queue name";

     QueueClient client = QueueClient.CreateFromConnectionString(serviceBusConnString, queueName, ReceiveMode.PeekLock);
     if (client != null)
       {

           BrokeredMessage brokeredMessage = null;
           while (true)
              {

                 try
                    {

                       //receive messages from Queue

                       brokeredMessage = await client.ReceiveAsync();

                       if (brokeredMessage != null)
                        {

                          Console.WriteLine(string.Format("Message received: Id = {0}, Body = {1}", brokeredMessage.MessageId, brokeredMessage.GetBody()));

                          // Further custom message processing could go here…

                          brokeredMessage.Complete();

                        }

                        else
                        {
                            //no more messages in the queue
                            break;
                        }
                    }
                  catch (MessagingException e)
                    {

                       if (!e.IsTransient)
                        {
                            Console.WriteLine(e.Message);
                            throw;
                        }
                        else
                        {
                            Console.WriteLine(e.Message);
                            Console.WriteLine("Transient error occured. Will retry in 2 seconds");
                            Thread.Sleep(2000);
                        }
                    }
                }

                client.Close();
            }

        }

Gopikrishna

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment