One.More.Lib.For.MediatR
1.0.0
See the version list below for details.
dotnet add package One.More.Lib.For.MediatR --version 1.0.0
NuGet\Install-Package One.More.Lib.For.MediatR -Version 1.0.0
<PackageReference Include="One.More.Lib.For.MediatR" Version="1.0.0" />
paket add One.More.Lib.For.MediatR --version 1.0.0
#r "nuget: One.More.Lib.For.MediatR, 1.0.0"
// Install One.More.Lib.For.MediatR as a Cake Addin #addin nuget:?package=One.More.Lib.For.MediatR&version=1.0.0 // Install One.More.Lib.For.MediatR as a Cake Tool #tool nuget:?package=One.More.Lib.For.MediatR&version=1.0.0
One More Lib For MediatR
As the name suggests, a new library that extends MediatR with integrated PipelineBehavior :
- Performance
- MemoryCache
- Validation with FluentValidation
- Retry Pattern with Polly
Installing One.More.Lib.For.MediatR
// TODO add a link to the nuget page.
We recommend using NuGet:
Install-Package One.More.Lib.For.MediatR
Or via the .NET Core command line interface:
dotnet add package One.More.Lib.For.MediatR
Performance PipelineBehavior
How to configure it?
The simplest way:
builder.Services.AddMediatRExtensions(configuration => configuration.PerformanceSupport = true);
If you want to configure it:
builder.Services.AddMediatRExtensions(configuration => configuration.AddPerformanceSupport(500));
How yo use it?
Nothing to do. Requests will be loggued.
MemoryCache PipelineBehavior
How to configure it?
The simplest way:
builder.Services.AddMediatRExtensions(configuration => configuration.MemoryCacheSupport = true);
If you want to configure it:
builder.Services.AddMediatRExtensions(configuration => configuration.AddMemoryCacheSupport(slidingExpiration: TimeSpan.FromMinutes(10), priority: CacheItemPriority.Low));
How yo use it?
Just add [MemoryCache] attribute on requests classes or records.
[MemoryCache]
public class GetUserByName : IRequest<User?>
{
public string Name { get; set; }
}
Validation with FluentValidation
How to configure it?
There is not simplest way because you need to enter the assemblies to be scanned for FluentValidation:
builder.Services.AddMediatRExtensions(configuration => configuration.AddFluentValidationSupport(new[] { typeof(Program).Assembly }));
How to use it?
Nothing to do, just create Validation rules. If a rule is not respected a ValidationException will be thrown.
Retry Pattern with Polly
How to configure it?
The simplest way:
builder.Services.AddMediatRExtensions(configuration => configuration.RetrySupport = true);
If you want to configure it:
builder.Services.AddMediatRExtensions(configuration => configuration.AddRetrySupport(retryCount: 3, retryDelay: 100));
How to use it?
Just add [RetryPolicy] attribute on requests classes or records.
[RetryPolicy]
public class GetUserByName : IRequest<User?>
{
public string Name { get; set; }
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. |
.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
- FluentValidation (>= 11.7.1)
- FluentValidation.DependencyInjectionExtensions (>= 11.7.1)
- MediatR (>= 12.1.1)
- Microsoft.Extensions.Caching.Memory (>= 7.0.0)
- Polly (>= 8.0.0)
-
net6.0
- FluentValidation (>= 11.7.1)
- FluentValidation.DependencyInjectionExtensions (>= 11.7.1)
- MediatR (>= 12.1.1)
- Microsoft.Extensions.Caching.Memory (>= 7.0.0)
- Polly (>= 8.0.0)
-
net7.0
- FluentValidation (>= 11.7.1)
- FluentValidation.DependencyInjectionExtensions (>= 11.7.1)
- MediatR (>= 12.1.1)
- Microsoft.Extensions.Caching.Memory (>= 7.0.0)
- Polly (>= 8.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.