EasyNetQ alternatives and similar packages
Based on the "Queue" category.
Alternatively, view EasyNetQ alternatives based on common mentions on social networks and blogs.
-
Hangfire
An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required -
CAP
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern -
NServiceBus
Build, version, and monitor better microservices with the most powerful service platform for .NET -
Kafka Client
DISCONTINUED. .Net implementation of the Apache Kafka Protocol that provides basic functionality through Producer/Consumer classes. -
SlimMessageBus
Lightweight message bus interface for .NET (pub/sub and request-response) with transport plugins for popular message brokers. -
Silverback
Silverback is a simple but feature-rich message bus for .NET core (it currently supports Kafka, RabbitMQ and MQTT). -
AdaskoTheBeAsT.MediatR.SimpleInjector and AdaskoTheBeAsT.MediatR.SimpleInjector.AspNetCore
MediatR extension to SimpleInjector -
Enqueue It
Easy and scalable solution for manage and execute background tasks seamlessly in .NET applications. It allows you to schedule, queue, and process your jobs and microservices efficiently.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of EasyNetQ or a related project?
README
A Nice .NET API for RabbitMQ
Initial development was sponsored by travel industry experts 15below
Goals:
- To make working with RabbitMQ on .NET as easy as possible.
To connect to a RabbitMQ broker...
var bus = RabbitHutch.CreateBus("host=localhost");
To publish a message...
await bus.PubSub.PublishAsync(message);
To publish a message with 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!" }
);
Management API
EasyNetQ also has a client-side library for the RabbitMQ Management HTTP API. This lets you control all aspects for your RabbitMQ broker from .NET code, including creating virtual hosts and users; setting permissions; monitoring queues, connections and channels; and setting up exchanges, queues and bindings.
See the documentation.
The announcement blog post is here
Some blog posts about EasyNetQ ...
http://mikehadlow.blogspot.co.uk/search/label/EasyNetQ
Getting started
Just open EasyNetQ.sln in VisualStudio and build.
All the required dependencies for the solution file to build the software are included. To run the explicit tests that send messages you will have to be running the EasyNetQ.Tests.SimpleService application and have a working local RabbitMQ server (see http://www.rabbitmq.com/ for more details).