我有一个使用C#在ASP.NET MVC 5.0中开发的服务器端Web API,它从SQL Server后端读取JSON格式(~25MB)的大量数据。在我的jQuery客户端内部调用此API时,请求/响应已成功完成,但在HTML页面中呈现结果(报告)之前需要大约5分钟。
我想寻找一个模式或代码片段,我可以在这里以数据块(或流式传输)下载数据,这样我就不必在页面呈现报告之前等待整整5分钟。
提前致谢!
答案 0 :(得分:2)
在您进行流式传输之前,我几乎没有提高性能的建议。
1-尝试减少有效负载。您可以使用属性的小别名来执行此操作。例如。
[JsonProperty(PropertyName = "mbpn")]
public string MyBigPropertyName{ get; set; }
这将使您的总有效负载(25 + MB)减少一个大数字。我有个人经验,我的60 MB数据减少到6 MB。
2-选择快速JSON
序列化程序。您可以查看效果比较here
3-在克林特方面,不要一次性绑定整个数据,将DOM附加在块中。
4-客户端的用户虚拟化。
如果您仍想要进行流式传输,可以查看link。
答案 1 :(得分:1)
我发现了一个帮助我的插件,它被称为jsonpipe,来自https://github.com/eBay/jsonpipe