【发布时间】:2022-02-02 22:01:41
【问题描述】:
我有一个休息 API,它需要更长的时间来填充完整的结果数据(因为它递归地迭代删除目录,这有时会花费一些时间)在此期间客户端一直在等待。填充完所有数据后,我们将向客户端发送回响应。
上述方法的问题是客户端一直在等待,直到所有数据都填充完毕。
.net 中有没有一种方法,当数据不断填充时,Rest API 将数据分块发送回客户端? (无需客户端等待整个数据生成)。
您能否提供一个示例,说明如何在 .Net 中实现上述要求?
【问题讨论】:
-
要准确回答有点宽泛,但至少有两种方法可以实现:首先不是发送整个数据,而是对其进行分页(前N个结果或结果X到X + N)。二是做异步调用,避免客户端挂掉
-
我可能错了,但 IAsyncEnumerable 不是用于这种事情吗? stackoverflow.com/questions/58876817/…
标签: c# asp.net .net asp.net-web-api webapi