C# .NET 8 — 使用 MediatR 流式传输请求和管道
💡
原文中文,约9000字,阅读约需22分钟。
📝
内容提要
MediatR是一个简单调解器实现的库,本文探讨了MediatR中请求的异常处理过程,特别关注只有一个接收方的场景。流请求用于使用MediatR检索一组流数据。文章提供了示例代码和实现细节。
🎯
关键要点
- MediatR是一个简单调解器实现的库,专注于请求的异常处理过程。
- 流请求用于使用MediatR检索一组流数据,使用特定接口IStreamRequest。
- 流请求的返回对象是一个集合IAsyncEnumerable,允许逐个返回数据。
- 文章提供了多个终结点的示例,包括SampleCommand、SampleRequest、SampleEntity、AddSampleEntity、SampleStreamEntity和SampleStreamEntityWithPipeFilter。
- SampleStreamEntity终结点利用MediatR处理请求,返回IAsyncEnumerable<SampleStreamEntityQueryResult>。
- SampleStreamEntityWithPipeFilter终结点与前者类似,但包含管道行为用于筛选。
- 流管道行为可以通过实现IStreamPipelineBehavior接口来创建,提供灵活性和可扩展性。
- GenericStreamLoggingBehavior类用于记录流请求的开始和结束。
- SampleFilterStreamBehavior类专门为特定流创建管道,包含权限检查。
- 在域项目中注册所有依赖项以确保管道行为的应用。
➡️