[英]Getting Big json data result asp.net mvc
我正在使用asp.net mvc。 该项目是基于地图的项目。 我有一个返回大json数据的操作方法。
public JsonResult MemberLocations()
{
var members = memberRepository.GetAll();
var result = new { members };
var jsonresult = Json(result, JsonRequestBehavior.AllowGet);
jsonresult.MaxJsonLength = 500000000;
return jsonresult;
}
此方法返回成员位置。
[{memberX:"132.45", memberY:"212.21"}, {memberX:"112.45", memberY:"113.11"},........]
json数据具有45.000点(x,y)对。 我在地图上指出了这一点。 查询结果来得很晚。 (我正在使用javascript ajax请求。)
如何解决数据获取机制。 您解决了这样的问题吗?
您需要对此功能进行性能分析,其中的一部分需要花费更多时间。 发送大小为45的JSON对象数组不会花费更多时间。 似乎获取数据“ memberRepository.GetAll()”可能要花费更多时间。
首先,您应该检查是否真的是45k点的传输降低了应用程序的速度,还是您的数据检索。 只需在memberRepository.GetAll();
的调用周围使用秒表memberRepository.GetAll();
并在提琴手中测量响应时间,以评估检索数据所花费的时间百分比。
通常,您实际上不应该向客户端发送太多数据。 通常会导致不良的用户体验,尤其是在速度较慢的设备(移动设备)上。
也许您必须问自己,为什么必须向客户发送45k坐标?
您要一次在地图上显示所有图钉吗? 真? 如果没有,则仅发送应在缩放级别/查看端口显示的内容...
如果仍然需要渲染那么多数据,请使用其他技术来渲染它,例如在服务器上渲染图块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.