public static void CsvStreamHelper(IEnumerable<T> data, Stream stream)
{
using (var writer = new StreamWriter(stream))
{
foreach (var line in data)
{
writer.WriteLine(lineString);
}
writer.Flush();
}
}
然后,我在我的控制器中使用它,比如:
public Task<IActionResult> MyController()
{
var data =
CsvStreamHelper(data, this.HttpContext.Response.Body);
return new EmptyResult();
}
like here
同时继续流式响应。
WriteResponseBodyAsync
方法使用my helper方法。我不确定的是我是否在我的Rest控制器中使用它
this.Ok(data)
,而不是流式传输响应,而是构建响应并在一个块中发送它。如何使用内容协商中间件实现流式响应?