我正在设计一个用 C# 和 AspNetCore 编写的应用程序,它需要向微服务发出多个 HTTP 请求并在返回控制器之前聚合结果。
我研究过 MediatR 管道,但似乎有限且不适合这种特定情况。
我想在 map 和 reduce 领域中会有一些有用的东西,但很难找到我的开发人员可以快速使用的框架。
我们希望确保在一个或多个请求失败时终止聚合。
我使用工作线程创建了一个概念证明,例如
var results = await Task.WhenAll(task1, task2);
但这并没有提供像 MediatR 开发人员可以轻松采用和单元测试的框架。
如果我的概念证明是使用 Rx 扩展和 Observable.zip 编写的,我想也可以这么说。尽管如此,我还是很好奇,并希望找到在 C# 中使用 Observable.zip 的示例,类似于此 Netflix 博客文章中所展示的示例