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

问题描述 投票:3回答:2

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

我想寻找一个模式或代码片段,我可以在其中下载数据(或流),所以我不必等待整个5分钟完成页面呈现报告之前。

提前致谢!

jquery json sql-server asp.net-web-api
2个回答
2
投票

在您进行流式传输之前,我几乎没有提高性能的建议。

1-尝试减少有效负载。您可以使用属性的小别名来执行此操作。例如。

[JsonProperty(PropertyName = "mbpn")]
 public string MyBigPropertyName{ get; set; }

这将大大减少您的总有效负载(25 + MB)。我有个人经验,我的数据从60 MB减少到6 MB。

2-选择快速的JSON序列化器。你可以查看性能比较here

3-在Clint端,不要一次性绑定整个数据,将DOM附加在块中。

4-客户端的用户虚拟化。

如果你仍然想要流媒体,你可以查看这个link


1
投票

我找到了一个帮助我的插件,它叫做jsonpipe,来自https://github.com/eBay/jsonpipe

© www.soinside.com 2019 - 2024. All rights reserved.