微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 超过了JavaScriptSerializer.MaxJsonLength.处理这个的最佳做法是什么?

我使用jQuery的$.ajax()函数发送给客户端的大量数据.我在ASP.NET Web服务中调用返回JSON数据的方法.一切都适用于大多数搜索,但是当我有一个大的数据集返回时,我遇到了一个JavaScriptSerializer MaxJsonLength属性的问题.处理这个的最佳做法是什么?我不想只是任意设置一个最大长度.如果返回的数据大于当前的最大值,还是应该重新写入并向客户端发送数据卡,我可以在Web服务中设置MaxJsonLength吗?

以下是Web服务的相关代码段:

Dictionary<string,object> jsonValuePairs = new Dictionary<string,object>();
//add some data to the dictionary...
return System.Web.Script.Serialization.JavaScriptSerializer.Serialize(jsonValuePairs);

解决方法

从客户端脚本调用的web方法设置最大长度的唯一方法是通过web.config文件(如下).
设置此问题是什么?
我每次都会通过多个xhr调用来处理数据的部分数据.
<system.web.extensions>
  <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="500000">
        </jsonSerialization>
      </webServices>
  </scripting>
</system.web.extensions>

更新:认大小为2097152,相当于4 MB的Unicode字符串数据.你真的要把这么多的数据发回给客户吗?如果这样,你需要看看应用程序设计,因为用户体验会慢而繁琐.

原文地址:https://www.jb51.cc/aspnet/250557.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐