1作者: ilkanozbek3 个月前原帖
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&lt;Result&gt;; // 示例验证器(FluentValidation) public class CreateOrderValidator : AbstractValidator&lt;CreateOrder&gt; { public CreateOrderValidator() { RuleFor(x =&gt; 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/分布式缓存助手)。