RFRabbitMQ 1.3.4
dotnet add package RFRabbitMQ --version 1.3.4
NuGet\Install-Package RFRabbitMQ -Version 1.3.4
<PackageReference Include="RFRabbitMQ" Version="1.3.4" />
<PackageVersion Include="RFRabbitMQ" Version="1.3.4" />
<PackageReference Include="RFRabbitMQ" />
paket add RFRabbitMQ --version 1.3.4
#r "nuget: RFRabbitMQ, 1.3.4"
#:package RFRabbitMQ@1.3.4
#addin nuget:?package=RFRabbitMQ&version=1.3.4
#tool nuget:?package=RFRabbitMQ&version=1.3.4
RFRabbitMQ
🇺🇸 English | 🇪🇸 Versión en Español Video tutorial
RFRabbitMQ is a lightweight .NET library designed to simplify the implementation of RPC (Remote Procedure Call) services over RabbitMQ.
It is used by FabianLucena.RFNRabbitMQRPCApp and FabianLucena.RFNRabbitMQRPCClient.
🚀 Features
- Simple and extensible implementation of RabbitMQ RPC patterns.
- Supports .NET 8, .NET 9, and .NET 10.
- Integrates with
IConfigurationvia Microsoft.Extensions. - Provides helpers for connection, channel creation, message publishing, and consumption.
- Ideal for microservices requiring synchronous request–response messaging.
📦 Installation
Using NuGet Package Manager
Install-Package RFRabbitMQ
Using .NET CLI
dotnet add package RFRabbitMQ
🧩 How it works
The library provides foundations for building:
- RPC Server using RabbitMQ queues
- RPC Client capable of sending requests and awaiting responses
Built-in functionalities include:
- Automatic queue declaration
- Connection and channel lifecycle management
- Correlation ID management
- Configurable timeout handling
🔧 Basic Configuration
Sample appsettings.json:
{
"RabbitMQ": {
"HostName": "localhost",
"UserName": "guest",
"Password": "guest",
"QueueName": "rfrpc.queue"
}
}
Loading configuration:
var config = builder.Configuration.GetSection("RabbitMQ").Get<RabbitMQConfig>();
🖥️ RPC Examples
For examples of RPC server and client, see the projects:
- https://github.com/fabianlucena/rfn-rabbitmq-rpc-app
- https://github.com/fabianlucena/rfn-rabbitmq-rpc-client
🏗️ Use in Microservices
RFRabbitMQ is suitable for:
- Orchestration patterns
- Critical synchronous operations
- Systems requiring reliable request/response semantics
- Hybrid async/sync messaging topologies
🔍 Versioning
Current version: 1.3.3
📚 Dependencies
This package depends on:
RabbitMQ.Client7.2.0Microsoft.Extensions.Configuration.Abstractions8.0.0
📄 License
RFRabbitMQ is released under the MIT License.
🌐 Repository
Source code available at:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- RabbitMQ.Client (>= 7.2.0)
-
net8.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- RabbitMQ.Client (>= 7.2.0)
-
net9.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- RabbitMQ.Client (>= 7.2.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RFRabbitMQ:
| Package | Downloads |
|---|---|
|
RFRabbitMQRPCClient
Cliente .NET para consumir servicios RPC sobre RabbitMQ, parte del ecosistema RFRabbitMQ. |
GitHub repositories
This package is not used by any popular GitHub repositories.