Skip to content
Pete Smith edited this page Jun 18, 2014 · 15 revisions

Welcome to AzureNetQ. This guide shows you how to get up and running with AzureNetQ in about 10 minutes.

You can find the code for this Quick Start on GitHub here: https://github.com/roysvork/AzureNetQGetStarted

You can use AzureNetQ with either Azure Service Bus or Service Bus for windows. To install the latter, follow the instructions on this blog post

If you installed Service Bus locally (following the instructions from the blog), you should be able to verify that your endpoint is running by navigating to:

https://servicebus:10355/ServiceBusDefaultNamespace

Next open Visual Studio and create a new solution named AzureNetQGetStarted with three C# projects:

Messages   (Class Library)
Publisher  (Console Application)
Subscriber (Console Application)

Open the NuGet Package Manager Console and install AzureNetQ in both the Publisher and Subscriber projects by typing:

Install-Package AzureNetQ -ProjectName Publisher
Install-Package AzureNetQ -ProjectName Subscriber

In the Messages project create a new class TextMessage.cs:

namespace Messages
{
    public class TextMessage
    {
        public string Text { get; set; } 
    }
}

Add a reference to the Messages project to both the Publisher and Subscriber projects.

Your solution should look like this:

Solution explorer

Open the Program.cs class in the Publisher project and type in the following code:

using System;
using EasyNetQ;
using Messages;

namespace Publisher
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var bus = RabbitHutch.CreateBus("host=localhost"))
            {
                var input = "";
                Console.WriteLine("Enter a message. 'Quit' to quit.");
                while ((input = Console.ReadLine()) != "Quit")
                {
                    bus.Publish(new TextMessage
                        {
                            Text = input
                        });
                }
            }
        }
    }
}

Open the other Program.cs class in the Subscriber project and type this code:

using System;
using EasyNetQ;
using Messages;

namespace Subscriber
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var bus = RabbitHutch.CreateBus("host=localhost"))
            {
                bus.Subscribe<TextMessage>("test", HandleTextMessage);

                Console.WriteLine("Listening for messages. Hit <return> to quit.");
                Console.ReadLine();
            }
        }

        static void HandleTextMessage(TextMessage textMessage)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Got message: {0}", textMessage.Text);
            Console.ResetColor();
        }
    }
}

Now right click on the Subscriber project and select 'Set As StartUp project', then hit ctrl-F5 (start without debugging) to launch the Subscriber console application. Repeat the same steps with the Publish project.

You should now have two console applications running with a lot of debugging information showing that EasyNetQ has successfully connected to your RabbitMQ server. Now type some messages into the publisher console application. You should see the Subscriber application report that it has received them.

Clone this wiki locally