返回首页
最新
PipelinePlus 将常见的 MediatR 管道行为打包成一个小型的即插即用库,以减少 .NET 应用程序中的样板代码。
<p>包含内容:
- 验证(FluentValidation)
- 缓存(基于属性的驱动,支持选择退出)
- 幂等性(去重命令处理)
- 出站箱(持久化和分发事件)
- 性能(时间钩子)
- 异常映射(将异常转换为一致的结果/日志)
<p>动机:在大多数 MediatR 项目中,这些跨切关注点会被一次又一次地重新实现。PipelinePlus 旨在使它们可组合、可测试,并且易于采用,而不会让你被锁定。
<p>安装:
dotnet add package PipelinePlus
<p>最小使用示例:
// Program.cs / 组合根
services.AddMediatR(typeof(Program));
services.AddPipelinePlus(); // 注册行为
<p><pre><code> // 示例请求
[Idempotent]
public record CreateOrder(Guid Id, string Sku) : IRequest<Result>;
// 示例验证器(FluentValidation)
public class CreateOrderValidator : AbstractValidator<CreateOrder> {
public CreateOrderValidator() {
RuleFor(x => x.Sku).NotEmpty();
}
}
</code></pre>
注意事项:
- 出站箱/幂等性可插入到你自己的存储抽象中。
- 适用于 .NET 8/9 和最新版本的 MediatR。
- 采用 MIT 许可证。
<p>仓库: <a href="https://github.com/ilkanozbek/PipelinePlus" rel="nofollow">https://github.com/ilkanozbek/PipelinePlus</a>
欢迎反馈——API 形状、命名以及下一个行为的想法(例如,OpenTelemetry 集成、Redis/分布式缓存助手)。