Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Build status

NuGet Status Nuget Status Nuget Status

Activity Activity Activity

EasyNetQ Logo

A Nice .NET API for RabbitMQ

Initial development was sponsored by travel industry experts 15below


Important Update

With the release of EasyNetQ v8, the method for connecting to a RabbitMQ broker has changed. The rest of the API remains unchanged.

To make working with RabbitMQ on .NET as easy as possible.

To connect to a RabbitMQ broker in v7...

    var bus = RabbitHutch.CreateBus("host=localhost");

To connect to a RabbitMQ broker in v8...

    var serviceCollection = new ServiceCollection();

    using var provider = serviceCollection.BuildServiceProvider();
    var bus = provider.GetRequiredService<IBus>();

To publish a message...

    await bus.PubSub.PublishAsync(message);

To publish a message with a 5s delay...

    await bus.Scheduler.FuturePublishAsync(message, TimeSpan.FromSeconds(5));

To subscribe to a message...

    await bus.PubSub.SubscribeAsync<MyMessage>(
        "my_subscription_id", msg => Console.WriteLine(msg.Text)

Remote procedure call...

    var request = new TestRequestMessage {Text = "Hello from the client! "};
    await bus.Rpc.RequestAsync<TestRequestMessage, TestResponseMessage>(request);

RPC server...

    await bus.Rpc.RespondAsync<TestRequestMessage, TestResponseMessage>(request =>
        new TestResponseMessage{ Text = request.Text + " all done!" }

Getting started

Just open EasyNetQ.sln in your preferred IDE or code editor and build. All the required dependencies for the solution file to build the software are included.


Thanks to all the people who already contributed!