FxMap.RabbitMq
5.1.0
dotnet add package FxMap.RabbitMq --version 5.1.0
NuGet\Install-Package FxMap.RabbitMq -Version 5.1.0
<PackageReference Include="FxMap.RabbitMq" Version="5.1.0" />
<PackageVersion Include="FxMap.RabbitMq" Version="5.1.0" />
<PackageReference Include="FxMap.RabbitMq" />
paket add FxMap.RabbitMq --version 5.1.0
#r "nuget: FxMap.RabbitMq, 5.1.0"
#:package FxMap.RabbitMq@5.1.0
#addin nuget:?package=FxMap.RabbitMq&version=5.1.0
#tool nuget:?package=FxMap.RabbitMq&version=5.1.0
FxMap.RabbitMq
RabbitMQ transport for FxMap — request/reply between services over RabbitMQ.
FxMap · Documentation · Demo project
A transport carries FxMap requests between the service that needs data (the client) and the service that owns it
(the server). Every service that maps data needs the core FxMap package; the owning service also needs a data provider
(EntityFrameworkCore or
MongoDb), and both sides use the same transport.
Requests are batched per distributed key, so a hundred objects that need a UserName produce one request.
Installation
dotnet add package FxMap.RabbitMq
Warning
All FxMap.* packages must use the same version.
Usage
builder.Services.AddFxMap(cfg =>
{
cfg.AddEntitiesFromAssemblyContaining<SomeEntityAssemblyMarker>();
cfg.AddProfilesFromAssemblyContaining<SomeProfileAssemblyMarker>();
// Local development
cfg.AddRabbitMq(config => config.Host("localhost", "/"));
// Or with credentials, port and a larger channel pool
cfg.AddRabbitMq(config =>
{
config.Host("rabbit.internal", "/", 5672, c =>
{
c.UserName("SomeUserName");
c.Password("SomePassword");
});
config.ChannelPoolSize(10);
});
});
Connection and channels
The client and the server of a process share one RabbitMQ connection (opened lazily, with automatic recovery) and a
pool of channels (ChannelPoolSize, default 5). The server opens one consumer per pooled channel, and concurrency is
driven by RabbitMQ's native consumerDispatchConcurrency.
Naming
FxMap uses exchanges named FxMap-{namespace}:{type name} and creates the queue
fxmap-rpc-queue-[application friendly name]. Avoid using these names for anything else.
Related packages
| Package | Description | Documentation |
|---|---|---|
| Core | ||
| FxMap | FxMap core: profiles, entity configs, the mapper and the expression language | README |
| Data providers | ||
| FxMap.EntityFrameworkCore | Answers requests from an Entity Framework Core DbContext |
README |
| FxMap.MongoDb | Answers requests from MongoDB collections | README |
| Integrations | ||
| FxMap.HotChocolate | Fills GraphQL response types through HotChocolate | README |
| Transports | ||
| FxMap.Grpc | gRPC transport | README |
| FxMap.Nats | NATS transport | README |
| FxMap.RabbitMq | RabbitMQ transport | This document |
| FxMap.Kafka | Apache Kafka transport | README |
| FxMap.Azure.ServiceBus | Azure Service Bus transport (Standard / Premium tiers) | README |
| FxMap.Aws.Sqs | Amazon SQS transport | README |
| Tooling | ||
| FxMap.Analyzers | Roslyn analyzer that validates expression strings at compile time | README |
| 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
- FxMap (>= 5.1.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- RabbitMQ.Client (>= 7.0.0)
-
net8.0
- FxMap (>= 5.1.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- RabbitMQ.Client (>= 7.0.0)
-
net9.0
- FxMap (>= 5.1.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- RabbitMQ.Client (>= 7.0.0)
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 |
|---|---|---|
| 5.1.0 | 43 | 10/15/2026 |
| 5.0.0 | 60 | 10/14/2026 |
| 4.1.5 | 74 | 10/13/2026 |
| 4.1.4 | 73 | 10/13/2026 |
| 4.1.3 | 79 | 10/12/2026 |
| 4.1.2 | 86 | 10/11/2026 |
| 4.1.1 | 88 | 10/6/2026 |
| 4.1.0 | 89 | 10/5/2026 |
| 4.0.0 | 97 | 10/5/2026 |
| 3.0.0 | 97 | 10/2/2026 |
| 2.3.5 | 91 | 10/2/2026 |
| 2.3.4 | 87 | 10/2/2026 |
| 2.3.3 | 90 | 10/1/2026 |
| 2.3.2 | 97 | 10/1/2026 |
| 2.3.1 | 124 | 8/21/2026 |
| 2.3.0 | 149 | 6/16/2026 |
| 2.2.2 | 140 | 6/3/2026 |
| 2.2.1 | 128 | 5/31/2026 |
| 2.2.0 | 135 | 5/26/2026 |
| 2.1.1 | 123 | 5/26/2026 |