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和Polyglot Notebooks。将此复制到交互式工具或脚本的源代码中,以引用此包。
// 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(包括泛型变体)INotificationIStreamRequest
将包引用添加到MediatR.Contracts
该包适用于您的MediatR合约与处理程序位于不同的程序集/项目中。示例场景包括
- API合约
- GRPC合约
- Blazor
注册到
MediatR直接支持 。要注册各种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.Abstractions
El莎是一组工作流库和工具,它可以为任何.NET Core应用程序提供精益和高效的工作流功能。此包提供了由Elsa.Core和其他相关包使用的抽象和模型。如果您引用了任何其他Elsa包,则无需单独引用此包。 |
|
|
Elsa.Core
El莎是一组工作流库和工具,它可以为任何.NET Core应用程序提供精益和高效的工作流功能。此包包含El莎的核心。提示:引用`El莎`包而非此包。 |
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文件夹中下载eBook 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 |