我有一个使用Angular 2编写的客户端,它会调用一个API并返回大量对象。我想将其拆分,以便在后台加载剩余数据的同时向用户呈现一些数据。
从在线查找的请求流数据的方式来看,PushStreamContent类似乎是最合适的(欢迎更好的建议)。我一直在阅读这篇教程http://blog.guvweb.co.uk/2014/07/02/streaming-web-api/
我已经尝试实现一个基本示例,以便测试它是否可以流式传输数字列表。
目前,我只是直接从浏览器访问API,看看它是否返回任何数据。我得到了这个错误消息。
请问有人可以告诉我我做错了什么吗?
我的控制器类
[Route("numbers")]
[HttpGet]
public IHttpActionResult StreamData()
{
// Generates a list of numbers 1 --> 1,000,000
List<int> numbers = _dataAccess.GenerateNumbers();
var response = Request.CreateResponse();
response.Content = new PushStreamContent( (stream, Content, context) =>
{
try
{
foreach (var num in numbers)
{
var serializer = new JsonSerializer();
using (var writer = new StreamWriter(stream))
{
serializer.Serialize(writer, num);
stream.Flush();
}
}
}
finally
{
stream.Close();
}
});
return Ok(response);
}