MediatR 12.4.0
dotnet add package MediatR --version 12.4.0
NuGet\Install-Package MediatR -Version 12.4.0
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="MediatR" Version="12.4.0" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add MediatR --version 12.4.0
NuGet 团队不提供对 此客户端的支持。请联系其 维护者 以获得支持。
#r "nuget: MediatR, 12.4.0"
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互式工具或脚本的源代码中以引用包。
// Install MediatR as a Cake Addin #addin nuget:?package=MediatR&version=12.4.0 // Install MediatR as a Cake Tool #tool nuget:?package=MediatR&version=12.4.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
MediatR
.NET 中的简单中介实现
无依赖的进程内消息传递。
支持请求/响应、命令、查询、通知和事件,同步和异步,通过 C# 泛型变体智能调度。
wiki 中的示例。
安装 MediatR
您应该使用 NuGet 安装 MediatR
Install-Package MediatR
或通过 .NET Core 命令行界面
dotnet add package MediatR
无论是命令还是从包管理器控制台或 .NET Core CLI,都会下载并安装 MediatR 及所有必需的依赖项。
使用仅合约包
要仅引用 MediatR 的合约,它包括
IRequest
(包括泛型变体)INotification
IStreamRequest
将包引用添加到 MediatR.Contracts
该软件包适用于您的MediatR契约与处理器位于不同的组件/项目中的场景。例如,以下场景:
- API契约
- GRPC契约
- Blazor
使用IServiceCollection
进行注册
MediatR直接支持 Microsoft.Extensions.DependencyInjection.Abstractions
。要注册各种MediatR服务和处理器
services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblyContaining<Startup>());
或使用一个组件
services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly));
这会进行以下注册:
IMediator
作为短暂的ISender
作为短暂的IPublisher
作为短暂的IRequestHandler<,>
具体实现作为短暂的IRequestHandler<>
具体实现作为短暂的INotificationHandler<>
具体实现作为短暂的IStreamRequestHandler<>
具体实现作为短暂的IRequestExceptionHandler<,,>
具体实现作为短暂的IRequestExceptionAction<,>
具体实现作为短暂的
这还为您注册了以下开放泛型实现:
INotificationHandler<>
IRequestExceptionHandler<,,>
IRequestExceptionAction<>
要注册行为、流行为、预处理程序和后处理程序
services.AddMediatR(cfg => {
cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly);
cfg.AddBehavior<PingPongBehavior>();
cfg.AddStreamBehavior<PingPongStreamBehavior>();
cfg.AddRequestPreProcessor<PingPreProcessor>();
cfg.AddRequestPostProcessor<PingPongPostProcessor>();
cfg.AddOpenBehavior(typeof(GenericBehavior<,>));
});
提供额外的开放泛型方法和对显式服务类型的重载。
产品 | 版本 兼容的以及额外的计算目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET 标准库 | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET 框架 | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- MediatR.Contracts (≥ 2.0.1 且 < 3.0.0)
- Microsoft.Bcl.AsyncInterfaces (≥ 8.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (≥ 8.0.0)
-
net6.0
- MediatR.Contracts (≥ 2.0.1 且 < 3.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (≥ 8.0.0)
NuGet 包 (1.9K)
显示依赖 MediatR 的前 5 个 NuGet 包
包 | 下载 |
---|---|
MediatR.Extensions.Microsoft.DependencyInjection
MediatR 为 ASP.NET Core 扩展 |
|
MediatR.Extensions.Autofac.DependencyInjection
Autofac-IoC 的扩展,便于使用 MediatR 和 CQRS。 |
|
NET6CustomLibrary
开源自定义 dotnet 扩展库 |
|
Elsa cuddles
艾尔莎是一套工作流程库和工具,它能在任何.NET Core应用中提供轻量级和高效的工作流程功能。此包提供了由Elsa.Core和其他相关包使用的抽象和模型。如果您引用了其他Elsa包,则无需单独引用此包。 |
|
Elsa.Core
艾尔莎是一套工作流程库和工具,它能在任何.NET Core应用中提供轻量级和高效的工作流程功能。此包包含艾尔莎的核心。提示:引用“艾尔莎”包,而不是此包。 |
GitHub仓库 (167)
展示依赖MediatR的前5个最受欢迎的GitHub仓库
仓库 | 星数 |
---|---|
jasontaylordev/CleanArchitecture
ASP.NET Core的纯净架构解决方案模板
|
|
ardalis/CleanArchitecture
纯净架构解决方案模板:ASP.NET Core的纯净架构起点
|
|
kgrzybek/modular-monolith-with-ddd
采用领域驱动设计的完整模块化单体应用程序。
|
|
dotnet-architecture/eShopOnWeb
由微软支持的示例ASP.NET Core 8.0参考应用程序,演示了具有单体部署模型的分层应用程序架构。从docs文件夹下载电子书PDF。
|
|
MassTransit/MassTransit
.NET的分布式应用程序框架
|
版本 | 下载 | 最后更新 |
---|---|---|
12.4.0 | 400,183 | 7/23/2024 |
12.3.0 | 2,043,542 | 6/6/2024 |
12.2.0 | 14,953,640 | 11/17/2023 |
12.1.1 | 12,364,026 | 7/10/2023 |
12.0.1 | 14,233,958 | 2/23/2023 |
11.1.0 | 11,719,673 | 11/19/2022 |
11.0.0 | 14,428,664 | 9/30/2022 |
10.0.1 | 33,256,258 | 1/10/2022 |
10.0.0 | 841,960 | 1/6/2022 |
9.0.0 | 54,151,700 | 10/8/2020 |
8.1.0 | 10,495,484 | 7/27/2020 |
8.0.2 | 2,217,397 | 6/30/2020 |
8.0.1 | 9,956,901 | 2/27/2020 |
8.0.0 | 8,275,497 | 12/30/2019 |
7.0.0 | 11,869,168 | 4/30/2019 |
6.0.0 | 6,239,973 | 12/10/2018 |
5.1.0 | 2,956,564 | 7/30/2018 |
5.0.1 | 909,838 | 6/1/2018 |
5.0.1-alpha-0002 | 41,136 | 4/5/2018 |
5.0.1-alpha-0001 | 3,434 | 4/5/2018 |
4.1.0 | 1,959,817 | 3/20/2018 |
4.0.1 | 1,028,222 | 12/4/2017 |
4.0.0 | 153,261 | 11/30/2017 |
4.0.0-alpha-0002 | 3,460 | 11/30/2017 |
4.0.0-alpha | 4,804 | 11/29/2017 |
3.0.1 | 1,350,488 | 3/7/2017 |
3.0.0 | 299,751 | 1/4/2017 |
2.1.0 | 737,075 | 7/1/2016 |
2.1.0-beta-19 | 4,129 | 5/23/2016 |
2.0.2 | 349,478 | 8/5/2015 |
2.0.1 | 5,052 | 8/5/2015 |
2.0.0 | 9,387 | 8/4/2015 |
2.0.0-beta-005 | 5,340 | 7/2/2015 |
2.0.0-beta-004 | 17,490 | 4/20/2015 |
2.0.0-beta-003 | 4,468 | 4/20/2015 |
2.0.0-beta-002 | 3,646 | 4/19/2015 |
2.0.0-beta-001 | 5,868 | 2/16/2015 |
1.0.0 | 58,900 | 12/16/2014 |
0.5.0 | 11,471 | 7/7/2014 |
0.4.0 | 3,962 | 6/16/2014 |
0.3.0 | 4,790 | 3/20/2014 |
0.2.0 | 4,857 | 3/6/2014 |
0.1.0 | 112,656 | 3/4/2014 |