Fluens.Messaging
0.3.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Fluens.Messaging --version 0.3.2
NuGet\Install-Package Fluens.Messaging -Version 0.3.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fluens.Messaging" Version="0.3.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fluens.Messaging" Version="0.3.2" />
<PackageReference Include="Fluens.Messaging" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Fluens.Messaging --version 0.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Fluens.Messaging, 0.3.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Fluens.Messaging@0.3.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Fluens.Messaging&version=0.3.2
#tool nuget:?package=Fluens.Messaging&version=0.3.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Fluens.Messaging
Inbox/outbox messaging pattern for modular applications.
Installation
dotnet add package Fluens.Messaging
Usage
Setup
// Host setup
fluensBuilder.AddMessaging();
// Module setup (inside IModuleSetup.RegisterServices)
module.AddMessaging<OrdersDbContext>(msg =>
{
msg.SubscribesFromAssembly(typeof(OrdersModule).Assembly);
msg.Publishes<OrderCreatedMessage>();
});
Publishing
public record OrderCreatedMessage(Guid OrderId) : IMessage;
// Publish is synchronous — message is stored in outbox during SaveChangesAsync
publisher.Publish(new OrderCreatedMessage(order.ID));
await dbContext.SaveChangesAsync(); // Outbox interceptor writes message
Consuming
public class OrderCreatedConsumer : IMessageConsumer<OrderCreatedMessage>
{
public async Task ConsumeAsync(
OrderCreatedMessage message,
MessageContext context,
CancellationToken ct)
{
// Process the message
}
}
Architecture: Publish (sync, in-memory) → Outbox (EF SaveChanges interceptor) → Transport (background worker) → Inbox (per-module processor) → Consumer. Failed messages are moved to a dead_letters table.
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Fluens (>= 0.3.2)
- Fluens.Kernel (>= 0.3.2)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.3)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.3)
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 |
|---|---|---|
| 0.6.6 | 82 | 3/11/2026 |
| 0.6.5 | 79 | 3/4/2026 |
| 0.6.4 | 76 | 3/4/2026 |
| 0.6.3 | 80 | 3/3/2026 |
| 0.6.2 | 86 | 3/2/2026 |
| 0.6.1 | 83 | 3/2/2026 |
| 0.6.0 | 85 | 3/1/2026 |
| 0.5.7 | 83 | 3/1/2026 |
| 0.5.6 | 85 | 3/1/2026 |
| 0.5.5 | 85 | 2/28/2026 |
| 0.5.4 | 88 | 2/28/2026 |
| 0.5.3 | 91 | 2/27/2026 |
| 0.5.2 | 84 | 2/27/2026 |
| 0.5.1 | 90 | 2/27/2026 |
| 0.5.0 | 91 | 2/26/2026 |
| 0.3.2 | 94 | 2/26/2026 |
| 0.3.1 | 88 | 2/26/2026 |
| 0.3.0 | 85 | 2/24/2026 |
| 0.2.5 | 90 | 2/24/2026 |
| 0.2.4 | 83 | 2/24/2026 |
Loading failed