ASP.NET WebAPI和带有大型数据集的jQuery(json)

时间:2018-03-01 05:15:33

标签: jquery json sql-server asp.net-web-api

我有一个使用C#在ASP.NET MVC 5.0中开发的服务器端Web API,它从SQL Server后端读取JSON格式(~25MB)的大量数据。在我的jQuery客户端内部调用此API时,请求/响应已成功完成,但在HTML页面中呈现结果(报告)之前需要大约5分钟。

我想寻找一个模式或代码片段,我可以在这里以数据块(或流式传输)下载数据,这样我就不必在页面呈现报告之前等待整整5分钟。

提前致谢!

2 个答案:

答案 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