RabbitMQWorkerConsumer 1.0.0
dotnet add package RabbitMQWorkerConsumer --version 1.0.0
NuGet\Install-Package RabbitMQWorkerConsumer -Version 1.0.0
<PackageReference Include="RabbitMQWorkerConsumer" Version="1.0.0" />
<PackageVersion Include="RabbitMQWorkerConsumer" Version="1.0.0" />
<PackageReference Include="RabbitMQWorkerConsumer" />
paket add RabbitMQWorkerConsumer --version 1.0.0
#r "nuget: RabbitMQWorkerConsumer, 1.0.0"
#:package RabbitMQWorkerConsumer@1.0.0
#addin nuget:?package=RabbitMQWorkerConsumer&version=1.0.0
#tool nuget:?package=RabbitMQWorkerConsumer&version=1.0.0
RabbitMQWorkerConsumer
RabbitMQWorkerConsumer is a lightweight library designed to simplify the creation of message consumers in .NET applications using RabbitMQ.
This package encapsulates the logic for connecting, configuring, and consuming messages from a queue, allowing the developer to focus solely on defining the message and managing it through a simple interface.
It is specifically designed to avoid code repetition and facilitate the integration of RabbitMQ into your services, following good practices of asynchrony and decoupling.
✅ Main Features:
- Asynchronous connection to RabbitMQ using RabbitMQ.Client.
- Automatic queue declaration.
- Message consumption with explicit acknowledgment (acknowledgement).
- Automatic deserialization of JSON messages.
IMessageHandler<T>
interface for custom handling of each message type.
🚀 Quick Use:
You just need to:
- Define a message type (T).
- Implement
MessageHandler<T>
to process it. - Provide the connection options (RabbitConnectionOptions).
Example in a Console App:
using RabbitWorkerCore;
public class ClassMessage
{
public required string Name { get; set; } = "Ivan";
}
public class NameVerificationHandler : IMessageHandler<ClassMessage>
{
public Task HandleAsync(ClassMessage message)
{
Console.WriteLine($"This is a message for {message.Name} ");
return Task.CompletedTask;
}
}
class Program
{
static async Task Main(string[] arg)
{
var options = new RabbitConnectionOptions
{
HostName = "localhost",
Port = 5672,
UserName = "user",
Password = "password",
QueueName = "test-name"
};
var handler = new NameVerificationHandler();
var worker = new WorkerConsumitor<ClassMessage>(handler, options);
await worker.StartAsync();
}
}
Author:
Dario Marzzucco
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- RabbitMQ.Client (>= 7.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 134 | 6/30/2025 |
This is the First Version