MinimalCleanArch.Messaging 0.1.18-preview

This is a prerelease version of MinimalCleanArch.Messaging.
dotnet add package MinimalCleanArch.Messaging --version 0.1.18-preview
                    
NuGet\Install-Package MinimalCleanArch.Messaging -Version 0.1.18-preview
                    
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="MinimalCleanArch.Messaging" Version="0.1.18-preview" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MinimalCleanArch.Messaging" Version="0.1.18-preview" />
                    
Directory.Packages.props
<PackageReference Include="MinimalCleanArch.Messaging" />
                    
Project file
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 MinimalCleanArch.Messaging --version 0.1.18-preview
                    
#r "nuget: MinimalCleanArch.Messaging, 0.1.18-preview"
                    
#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 MinimalCleanArch.Messaging@0.1.18-preview
                    
#: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=MinimalCleanArch.Messaging&version=0.1.18-preview&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=MinimalCleanArch.Messaging&version=0.1.18-preview&prerelease
                    
Install as a Cake Tool

MinimalCleanArch.Messaging

Messaging and domain event helpers for MinimalCleanArch (Wolverine integration).

Version

  • Current preview: 0.1.18-preview (net9.0, net10.0). Latest stable: 0.1.17.

Why Use It

  • publish and handle domain events through Wolverine without building the integration layer from scratch
  • add outbox-capable messaging and background processing to an MCA application
  • carry execution-context data such as correlation and tenant information into message handlers

When to Use It

  • use it when the application has domain events, asynchronous workflows, integration messages, or background jobs and Wolverine is an acceptable host-side dependency
  • keep it in infrastructure or host composition code where transports and message handlers are wired
  • skip it for synchronous CRUD-style applications that do not need messaging yet

Dependency Direction

  • Depends on: MinimalCleanArch
  • Typically referenced by: infrastructure projects or the application host
  • Do not reference from: pure domain projects
  • Guidance: application code can define events and handlers, but the transport and Wolverine wiring should stay outside the domain layer

What's included

  • Domain event contracts and helpers.
  • Wolverine integration extensions.
  • DI extensions to wire messaging into your MinimalCleanArch app.

Usage

dotnet add package MinimalCleanArch.Messaging --version 0.1.18-preview

Recommended bootstrap:

builder.AddMinimalCleanArchMessaging(options =>
{
    options.IncludeAssembly(typeof(AssemblyReference).Assembly);
    options.ServiceName = "MyApp";
    options.QueuePrefix = "myapp-";
});

Durable transports:

builder.AddMinimalCleanArchMessagingWithPostgres(connectionString, options =>
{
    options.IncludeAssembly(typeof(AssemblyReference).Assembly);
    options.ServiceName = "MyApp";
    options.SchemaName = "messaging";
    options.DeadLetterQueueExpirationEnabled = true;
    options.DeadLetterQueueExpiration = TimeSpan.FromDays(7);
});

Failure policies:

builder.AddMinimalCleanArchMessaging(options =>
{
    options.ConfigureFailurePolicies = policies =>
    {
        policies.OnException<TimeoutException>().RetryWithCooldown(
            TimeSpan.FromSeconds(1),
            TimeSpan.FromSeconds(5));
    };
});

Use this package when:

  • handlers and domain events are part of the application model
  • you want domain event publishing wired through EF Core save operations
  • you want an app-level entry point over raw Wolverine setup

Preferred guidance:

  • use the AddMinimalCleanArchMessaging... extensions as the entry point
  • use QueuePrefix, LocalQueueName, dead-letter expiration settings, and failure-policy hooks for the common cases
  • keep transport-specific edge cases in the provided raw Wolverine callback when needed
  • avoid duplicating domain event publishing logic in application DbContexts
  • rely on IExecutionContext for correlation and tenant data inside message handlers

Claim resolution for the built-in execution-context implementations can be customized with ExecutionContextOptions:

builder.Services.Configure<ExecutionContextOptions>(options =>
{
    options.UserNameClaimTypes.Clear();
    options.UserNameClaimTypes.Add("preferred_username");
});

When using a local feed, add a nuget.config pointing to your local packages folder and keep nuget.org available unless your feed mirrors all external dependencies.

Product 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 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.

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.1.18-preview 0 3/12/2026
0.1.17 32 3/12/2026
0.1.17-preview 85 3/8/2026
0.1.16-preview 80 3/7/2026
0.1.15-preview 80 3/3/2026
0.1.14 90 3/2/2026
0.1.14-preview 85 3/1/2026
0.1.13-preview 89 2/28/2026
0.1.12-preview 95 2/22/2026
0.1.11-preview 99 12/27/2025
0.1.10-preview 91 12/27/2025
0.1.9-preview 121 12/21/2025
0.1.8-preview 234 12/15/2025
0.1.7 155 12/14/2025
0.1.7-preview 418 12/11/2025
0.1.6 442 12/9/2025
0.1.6-preview 474 12/9/2025