我正在逐步将Ix.NET引入遗留项目。我有许多返回Task<IEnumerable<T>>
的存储级API,但是我想让它们适应IAsyncEnumerable<T>
以便在系统的其余部分中使用。看起来应该有一个帮助方法(IE浏览器为IEnumerable)来帮助解决这个问题,但我找不到任何东西......我是否必须实现自己的自定义枚举器? (不难,但我不想重新发明轮子)
如果您正在谈论Web API,.ToAsyncEnumerable()
是生成Task<IEnumerable<T>>
的异步方式。
无论同步还是异步生成IEnumerable<T>
,整个列表都将作为HTTP响应发送。
您可以在客户端上利用IEnumerable<T>
的方式是,该客户端是否正在调用某种流式传输或向服务器发出多个请求以获取唯一的结果列表(分页)。