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 -
Confluent's .NET Client for Apache KafkaTM
Confluent's Apache Kafka .NET client -
RabbitMQ.NET
RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.1+ -
CQRSlite
A lightweight framework to help creating CQRS and Eventsourcing applications in C# -
Kafka Client
.Net implementation of the Apache Kafka Protocol that provides basic functionality through Producer/Consumer classes. -
Gofer.NET
Easy C# API for Distributed Background Tasks/Jobs for .NET Core. -
RestBus
Easy, Service Oriented, Asynchronous Messaging and Queueing for .NET -
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). -
Enexure.MicroBus
MicroBus is a simple in process Mediator for .NET
ONLYOFFICE Docs — document collaboration in your environment
* 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).