登录 注册
数据分析与数据处理
11,858
Stars
2,175
Forks
287
Watchers
3
Open Issues
NOASSERTION
许可证
C#
语言
2014-03-03
创建时间
2026-11-05
最近更新

项目能做什么

.NET 平台下简单轻量、功能专注的中介者模式(Mediator)实现库。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
MediatR
=======

![CI](https://github.com/LuckyPennySoftware/MediatR/workflows/CI/badge.svg)
[![NuGet](https://img.shields.io/nuget/dt/mediatr.svg)](https://www.nuget.org/packages/mediatr) 
[![NuGet](https://img.shields.io/nuget/vpre/mediatr.svg)](https://www.nuget.org/packages/mediatr)
[![MyGet (dev)](https://img.shields.io/myget/mediatr-ci/v/MediatR.svg)](https://myget.org/gallery/mediatr-ci)

Simple mediator implementation in .NET

In-process messaging with no dependencies.

Supports request/response, commands, queries, notifications and events, synchronous and async with intelligent dispatching via C# generic variance.

Examples in the [wiki](https://github.com/LuckyPennySoftware/MediatR/wiki).

### Installing MediatR

You should install [MediatR with NuGet](https://www.nuget.org/packages/MediatR):

    Install-Package MediatR
    
Or via the .NET Core command line interface:

    dotnet add package MediatR

Either commands, from Package Manager Console or .NET Core CLI, will download and install MediatR and all required dependencies.

### Using Contracts-Only Package

To reference only the contracts for MediatR, which includes:

- `IRequest` (including generic variants)
- `INotification`
- `IStreamRequest`

Add a package reference to [MediatR.Contracts](https://www.nuget.org/packages/MediatR.Contracts)

This package is useful in scenarios where your MediatR contracts are in a separate assembly/project from handlers. Example scenarios include:
- API contracts
- GRPC contracts
- Blazor

### Registering with `IServiceCollection`

MediatR supports `Microsoft.Extensions.DependencyInjection.Abstractions` directly. To register various MediatR services and handlers:

```
services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblyContaining<Startup>());
```

or with an assembly:

```
services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly));
```

This registers:

- `IMediator` as transient
- `ISender` as transient
- `IPublisher` as transient
- `IRequestHandler<,>` concrete implementations as transient
- `IRequestHandler<>` concrete implementations as transient
- `INotificationHandler<>` concrete implementations as transient
- `IStreamRequestHandler<>` concrete implementations as transient
- `IRequestExceptionHandler<,,>` concrete implementations as transient
- `IRequestExceptionAction<,>)` concrete implementations as transient

This also registers open generic implementations for:

- `INotificationHandler<>`
- `IRequestExceptionHandler<,,>`
- `IRequestExceptionAction<,>`

To register behaviors, stream behaviors, pre/post processors:

```csharp
services.AddMediatR(cfg => {
    cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly);
    cfg.AddBehavior<PingPongBehavior>();
    cfg.AddStreamBehavior<PingPongStreamBehavior>();
    cfg.AddRequestPreProcessor<PingPreProcessor>();
    cfg.AddRequestPostProcessor<PingPongPostProcessor>();
    cfg.AddOpenBehavior(typeof(GenericBehavior<,>));
    });
```

With additional method
阅读完整原文

项目深度分析 AI 生成

MediatR 架构洞察与静态分析 IDE 插件

产品构想针对 MediatR 解耦后导致的调用链追踪困难问题,开发针对 Rider/Visual Studio 的代码导航与分析插件,自动可视化 Request-Behavior-Handler 链路及架构规则检测。
核心功能跳转至所有相关 Handler/Behaviors、管道流向拓扑可视化、缺失 Handler 编译期/实时报警、不合规的行为配置静态检查。
目标用户重度依赖 MediatR 的 .NET 开发者及中大型开发团队。
难度/周期中等 · 2-3个月 · 成本:开发机器、JetBrains/VS 开发者账号及插件维护成本。
收费模式免费增值模式(基础跳转免费,调用图生成与高级架构合规规则集采用单人或企业订阅收费)。
竞争风险JetBrains 等工具链未来可能原生增强对这类模式的支持;开发者的付费意愿有限。
依据 已验证事实(MediatR采用泛型分发与管道机制导致代码间接性增强)

MediatR 分布式事件与开箱即用 Pipeline 商业扩展包

产品构想提供一套经过企业级验证的预制生产级 Behaviors(集成 OpenTelemetry、Polly 重试降级、FluentValidation、事务开箱支持)以及跨进程/分布式 Mediator 桥接套件。
核心功能一键配置生产级可观测性、自动分布式链路传递、将 in-process notification 无缝路由到 RabbitMQ/Kafka 的扩展机制。
目标用户追求快速交付生产级 CQRS 架构的中小企业技术负责人与架构师。
难度/周期低至中等 · 1-2个月 · 成本:极低(主要为开发和维护文档时间)。
收费模式按项目授权或企业年费支持许可(提供 SLA 与最佳实践更新)。
竞争风险社区存在较多零散开源实现(如 MassTransit 部分替代),需要具备极强的易用性和开箱即用体验才能吸引买单。
依据 AI推测

MediatR 性能与APM观测扩展(轻量级运行时探针)

产品构想针对高吞吐场景,提供专注 MediatR 管道执行时耗分析、热点 Handler 发现、异常回溯的轻量级探针与仪表盘。
核心功能无侵入式拦截 MediatR 执行耗时、慢 Handler 告警、内存分配追踪(规避反射/装箱性能瓶颈)、导出 Prometheus/Grafana 模板。
目标用户高并发系统运维人员、.NET 性能调优专家及企业研发团队。
难度/周期中等 · 2-3个月 · 成本:服务器测试资源、多版本 .NET 运行时兼容性维护。
收费模式SaaS订阅(托管仪表盘)或企业本地版 Agent 授权许可。
竞争风险通用 APM(Datadog/Dynatrace)已有部分覆盖,需依赖在.NET生态内足够垂直且低开销来形成壁垒。
依据 尚需验证的假设
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

相似项目数据正在完善中,暂不展示(避免误导)

项目优势与风险

技术成熟度创建于 2014-03-03,近 30 天仍在推送,发布过 33 个 Release
社区活跃Star 11,858 / Fork 2,175 / Issue 3(数据支持,可自行核实)
许可证NOASSERTION
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。