在 ASP.NET MVC 中返回最大 Json 结果的最佳方法
Posted
技术标签:
【中文标题】在 ASP.NET MVC 中返回最大 Json 结果的最佳方法【英文标题】:Best way to return max Json result in ASP.NET MVC 【发布时间】:2018-07-22 05:15:46 【问题描述】:请告诉我在 ASP.NET MVC 中返回最大 Json 结果的最佳方式。
目前我正在使用:
return Json(jsonData,JsonRequestBehavior.AllowGet);
在这种情况下,如果方法返回 Json 的最大大小,则 Ajax 会抛出错误。 对于这个错误,我使用这个解决方案。
var jsonResult = Json(jsonData, JsonRequestBehavior.AllowGet);
jsonResult.maxJsonLength = int.MaxValue;
return jsonResult;
但我对这个解决方案有疑问。如果我们使用这个解决方案,那么我的回复需要更多时间,所以请告诉我这个问题的快速解决方案。
【问题讨论】:
代码应该被格式化。 您可以做的一件事是通过 c# 代码使用 gzip 压缩您的结果。这可以减少时间和结果的大小。 检查this的答案。 谢谢。我试试这个 【参考方案1】:我已经用 SignalR 解决了这种问题。基本上,1.创建一个 SignalR 集线器 2. 在您的页面 JS 中,连接到集线器并监听响应,从传入流更新您的目标控件 3. 在您的控制器请求中,以数据块的形式获取 connectionid 和流响应。
通过这种方式,您可以发送无限量并立即响应。
【讨论】:
以上是关于在 ASP.NET MVC 中返回最大 Json 结果的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET MVC/Web 控制器中返回 JSON?
如何在 ASP.net MVC4 上的 webgird 中绑定 JSON 返回结果值