FxMap.Azure.ServiceBus
4.1.1
dotnet add package FxMap.Azure.ServiceBus --version 4.1.1
NuGet\Install-Package FxMap.Azure.ServiceBus -Version 4.1.1
<PackageReference Include="FxMap.Azure.ServiceBus" Version="4.1.1" />
<PackageVersion Include="FxMap.Azure.ServiceBus" Version="4.1.1" />
<PackageReference Include="FxMap.Azure.ServiceBus" />
paket add FxMap.Azure.ServiceBus --version 4.1.1
#r "nuget: FxMap.Azure.ServiceBus, 4.1.1"
#:package FxMap.Azure.ServiceBus@4.1.1
#addin nuget:?package=FxMap.Azure.ServiceBus&version=4.1.1
#tool nuget:?package=FxMap.Azure.ServiceBus&version=4.1.1
<p align="center"> <img src="https://raw.githubusercontent.com/quyvu01/FxMap/main/FxMap.png" alt="FxMap" width="96" /> </p>
<h1 align="center">FxMap.Azure.ServiceBus</h1>
<p align="center"> Azure Service Bus transport for FxMap — request/reply between services over session-enabled queues. </p>
<p align="center"> <a href="https://www.nuget.org/packages/FxMap.Azure.ServiceBus"><img alt="NuGet" src="https://img.shields.io/nuget/v/FxMap.Azure.ServiceBus.svg" /></a> <a href="https://www.nuget.org/packages/FxMap.Azure.ServiceBus"><img alt="Downloads" src="https://img.shields.io/nuget/dt/FxMap.Azure.ServiceBus.svg" /></a> <a href="https://github.com/quyvu01/FxMap/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" /></a> </p>
<p align="center"> <a href="https://github.com/quyvu01/FxMap"><b>FxMap</b></a> · <a href="https://fxmapper.net"><b>Documentation</b></a> · <a href="https://github.com/quyvu01/TestFxMap-Demo"><b>Demo project</b></a> </p>
This transport requires the Standard or Premium tier of Azure Service Bus. Premium is recommended for production.
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.Azure.ServiceBus
All FxMap.* packages must use the same version.
Usage
builder.Services.AddFxMap(cfg =>
{
cfg.AddEntitiesFromAssemblyContaining<SomeEntityAssemblyMarker>();
cfg.AddProfilesFromAssemblyContaining<SomeProfileAssemblyMarker>();
cfg.AddAzureServiceBus(c =>
{
c.Host("Endpoint=sb://..."); // connection string
c.TopicPrefix("staging"); // optional
c.MaxConcurrentSessions(16); // optional, at least 1
});
});
Naming and sessions
For every distributed key FxMap creates session-enabled queues at startup: fxmap-request-{namespace}-{type name}
for requests and fxmap-reply-{namespace}-{type name} for replies (dots replaced by hyphens, lower case). TopicPrefix prepends "{prefix}-" to both. 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 | README |
| FxMap.Kafka | Apache Kafka transport | README |
| FxMap.Azure.ServiceBus | Azure Service Bus transport (Standard / Premium tiers) | This document |
| 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
- Azure.Messaging.ServiceBus (>= 7.20.1)
- FxMap (>= 4.1.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
-
net8.0
- Azure.Messaging.ServiceBus (>= 7.20.1)
- FxMap (>= 4.1.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
-
net9.0
- Azure.Messaging.ServiceBus (>= 7.20.1)
- FxMap (>= 4.1.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.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 |
|---|---|---|
| 4.1.1 | 63 | 10/6/2026 |
| 4.1.0 | 74 | 10/5/2026 |
| 4.0.0 | 80 | 10/5/2026 |
| 3.0.0 | 94 | 10/2/2026 |
| 2.3.5 | 78 | 10/2/2026 |
| 2.3.4 | 77 | 10/2/2026 |
| 2.3.3 | 79 | 10/1/2026 |
| 2.3.2 | 82 | 10/1/2026 |
| 2.3.1 | 122 | 8/21/2026 |
| 2.3.0 | 133 | 6/16/2026 |
| 2.2.2 | 127 | 6/3/2026 |
| 2.2.1 | 135 | 5/31/2026 |
| 2.2.0 | 126 | 5/26/2026 |
| 2.1.1 | 123 | 5/26/2026 |
| 2.1.0 | 127 | 5/7/2026 |
| 2.0.1 | 117 | 4/5/2026 |
| 2.0.0 | 134 | 4/5/2026 |
| 1.0.3 | 133 | 3/15/2026 |
| 1.0.2 | 125 | 3/7/2026 |
| 1.0.1 | 117 | 3/6/2026 |