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                
#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                

MediatR

CI NuGet NuGet MyGet (dev)

.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 已计算。
兼容的目标框架
包含的目标框架(在包中)
更多信息请访问 目标框架.NET 标准化

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