Snowberry.Mediator.DependencyInjection
2.0.0
dotnet add package Snowberry.Mediator.DependencyInjection --version 2.0.0
NuGet\Install-Package Snowberry.Mediator.DependencyInjection -Version 2.0.0
<PackageReference Include="Snowberry.Mediator.DependencyInjection" Version="2.0.0" />
<PackageVersion Include="Snowberry.Mediator.DependencyInjection" Version="2.0.0" />
<PackageReference Include="Snowberry.Mediator.DependencyInjection" />
paket add Snowberry.Mediator.DependencyInjection --version 2.0.0
#r "nuget: Snowberry.Mediator.DependencyInjection, 2.0.0"
#:package Snowberry.Mediator.DependencyInjection@2.0.0
#addin nuget:?package=Snowberry.Mediator.DependencyInjection&version=2.0.0
#tool nuget:?package=Snowberry.Mediator.DependencyInjection&version=2.0.0
Snowberry.Mediator.DependencyInjection
Snowberry.DependencyInjection integration for Snowberry.Mediator.
Adds AddSnowberryMediator and AppendSnowberryMediator to IServiceRegistry, registering the mediator, request and stream handlers, pipeline behaviors, and notification handlers.
For Microsoft.Extensions.DependencyInjection consumers, use the Snowberry.Mediator.Extensions.DependencyInjection package instead.
Usage
using Snowberry.DependencyInjection;
using Snowberry.DependencyInjection.Abstractions;
using Snowberry.Mediator.DependencyInjection;
using var container = new ServiceContainer();
container.AddSnowberryMediator(opt =>
{
opt.RequestHandlerTypes = [typeof(MyRequestHandler)];
opt.PipelineBehaviorTypes = [typeof(MyPipelineBehavior<,>)];
opt.NotificationHandlerTypes = [typeof(MyNotificationHandler)];
opt.StreamRequestHandlerTypes = [typeof(MyStreamRequestHandler)];
opt.StreamPipelineBehaviorTypes = [typeof(MyStreamPipelineBehavior<,>)];
}, ServiceLifetime.Scoped);
Assembly scanning is also supported via opt.Assemblies but requires unreferenced code and is not AOT-compatible.
AddSnowberryMediator vs AppendSnowberryMediator
Both extensions register the same set of services and use try-register semantics. Neither evicts an already-registered IMediator or handler.
AddSnowberryMediatoris the standard call. Use it once per container.AppendSnowberryMediatoris intended for adding more handlers, behaviors, or notification handlers to a container that has already been configured withAddSnowberryMediator(for example, when a downstream module contributes additional handlers). When a global pipeline or notification registry is already present it fetches the existing instance and adds the new handlers to it, so previously registered handlers are preserved.
OpenTelemetry instrumentation
Pair with Snowberry.Mediator.OpenTelemetry to emit OpenTelemetry traces and metrics for every mediator dispatch. Note that for this container, AddSnowberryMediatorOpenTelemetry must be called before AddSnowberryMediator.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Snowberry.DependencyInjection (>= 5.1.1)
- Snowberry.Mediator (>= 2.0.0)
- Snowberry.Mediator.DependencyInjection.Shared (>= 2.0.0)
-
net10.0
- Snowberry.DependencyInjection (>= 5.1.1)
- Snowberry.Mediator (>= 2.0.0)
- Snowberry.Mediator.DependencyInjection.Shared (>= 2.0.0)
-
net9.0
- Snowberry.DependencyInjection (>= 5.1.1)
- Snowberry.Mediator (>= 2.0.0)
- Snowberry.Mediator.DependencyInjection.Shared (>= 2.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 |
|---|---|---|
| 2.0.0 | 97 | 6/1/2026 |
| 1.1.0 | 411 | 1/28/2026 |
| 1.0.4-alpha | 209 | 11/15/2025 |
| 1.0.3-alpha | 228 | 11/4/2025 |
| 1.0.2-alpha | 210 | 10/7/2025 |
| 1.0.1-alpha | 221 | 9/23/2025 |