TurboMediator.Abstractions
0.9.2
dotnet add package TurboMediator.Abstractions --version 0.9.2
NuGet\Install-Package TurboMediator.Abstractions -Version 0.9.2
<PackageReference Include="TurboMediator.Abstractions" Version="0.9.2" />
<PackageVersion Include="TurboMediator.Abstractions" Version="0.9.2" />
<PackageReference Include="TurboMediator.Abstractions" />
paket add TurboMediator.Abstractions --version 0.9.2
#r "nuget: TurboMediator.Abstractions, 0.9.2"
#:package TurboMediator.Abstractions@0.9.2
#addin nuget:?package=TurboMediator.Abstractions&version=0.9.2
#tool nuget:?package=TurboMediator.Abstractions&version=0.9.2
TurboMediator
A high-performance Mediator library for .NET using Roslyn Source Generators. Zero reflection, Native AOT compatible, compile-time validated.
Key Features
- ⚡ Source-generated dispatch — No reflection, no dictionaries. A
switchexpression routes messages at compile time. - 🔒 Compile-time safety — Missing handlers and duplicate registrations are build errors, not runtime exceptions.
- 🌐 Native AOT ready — No dynamic code generation, fully compatible with
PublishAot. - 🧩 20+ optional packages — Resilience, observability, persistence, sagas, scheduling, feature flags, testing helpers, and more.
- 📜 MIT license — Free forever. No revenue thresholds, no team size limits.
Quick Start
dotnet add package TurboMediator
// Define a query
public record GetUserQuery(Guid Id) : IQuery<User>;
// Implement a handler
public class GetUserHandler : IQueryHandler<GetUserQuery, User>
{
public async ValueTask<User> Handle(GetUserQuery query, CancellationToken ct)
=> await _repo.GetByIdAsync(query.Id, ct);
}
// Register & use
builder.Services.AddTurboMediator();
var user = await mediator.Send(new GetUserQuery(userId));
Links
- 📖 Documentation
- 🐙 GitHub
- 📦 All packages
| 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 was computed. 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 was computed. 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. |
-
net8.0
- Microsoft.Extensions.Options (>= 8.0.0)
NuGet packages (16)
Showing the top 5 NuGet packages that depend on TurboMediator.Abstractions:
| Package | Downloads |
|---|---|
|
TurboMediator.FeatureFlags
Feature flag behavior for TurboMediator - conditionally enable/disable handlers |
|
|
TurboMediator.RateLimiting
Rate limiting and bulkhead behaviors for TurboMediator using System.Threading.RateLimiting |
|
|
TurboMediator.Saga
Saga orchestration pattern for TurboMediator - distributed transactions with compensation |
|
|
TurboMediator.DistributedLocking
Distributed locking for TurboMediator - attribute-based mutual exclusion with pluggable providers |
|
|
TurboMediator.FluentValidation
FluentValidation integration for TurboMediator - Automatic validation using FluentValidation validators |
GitHub repositories
This package is not used by any popular GitHub repositories.