Mediarq.Core 1.5.1

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

Mediarq.Core

The core of Mediarq — a lightweight, dependency-free CQRS mediator for .NET: commands, queries, no-result commands, notifications, streaming, a composable pipeline of behaviors, built-in validation and Result types. Includes the optional source generator for reflection-free, Native-AOT-friendly dispatch.

dotnet add package Mediarq.Core

Want the core plus the lightweight extensions in one install? Use the Mediarq meta-package.

Quick start

using Mediarq.Extensions;

builder.Services.AddLogging();
builder.Services.AddMediarq(isHttp: false, typeof(CreateOrder).Assembly); // scan for handlers
public record CreateOrder(string Customer) : ICommand<Result<Guid>>;

public class CreateOrderHandler : ICommandHandler<CreateOrder, Result<Guid>>
{
    public Task<Result<Guid>> Handle(CreateOrder request, CancellationToken ct = default)
        => Task.FromResult(Result.Success(Guid.NewGuid()));
}

// inject IMediator / ISender / IPublisher
Result<Guid> result = await sender.Send(new CreateOrder("Alice"));
  • Commands / queries return a Result / Result<T> (railway-oriented); void commands implement ICommand.
  • Notifications (INotification) fan out to zero or more handlers.
  • Streaming (IStreamRequest<T>) returns IAsyncEnumerable<T> via CreateStream.
  • Pipeline behaviors wrap the handler; built-in validation/exception/pre/post light up automatically.

Reflection-free / Native AOT

builder.Services.AddMediarqCore(isHttp: false).AddMediarqHandlers(); // generated at compile time

No assembly scan, no reflection on dispatch. The library is IsAotCompatible and publishes cleanly with Native AOT.

Learn more

MIT © Nicolas Rouffart

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (23)

Showing the top 5 NuGet packages that depend on Mediarq.Core:

Package Downloads
Mediarq

Lean meta-package bundling Mediarq.Core and the lightweight extensions: ASP.NET Core, FluentValidation, DataAnnotations, Caching, Diagnostics and UnitOfWork. Heavy or opinionated integrations (EntityFrameworkCore, OpenTelemetry, MassTransit, Polly) ship as separate packages — install them explicitly when you need them.

Mediarq.UnitOfWork

Unit of Work pipeline behavior for Mediarq: commit a unit of work around transactional commands.

Mediarq.Diagnostics

Observability for Mediarq: an OpenTelemetry-compatible Activity (tracing) and System.Diagnostics.Metrics behavior per request.

Mediarq.Caching

Caching pipeline behaviors for Mediarq: memoize responses of ICacheableRequest via IMemoryCache (in-memory) or IDistributedCache (e.g. Redis).

Mediarq.FluentValidation

FluentValidation adapter for Mediarq: run FluentValidation validators inside the Mediarq validation pipeline.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.5.1 670 7/26/2026
1.5.0 637 7/26/2026
1.4.0 485 7/24/2026
1.3.0 471 7/24/2026
1.2.0 364 7/24/2026
1.1.0 364 7/24/2026
1.0.0 551 6/27/2026