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
(包括泛型变体)INotification
IStreamRequest
将包引用添加到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 |