我使用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调用来处理数据的部分数据.
设置此问题是什么?
我每次都会通过多个xhr调用来处理数据的部分数据.
<system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="500000"> </jsonSerialization> </webServices> </scripting> </system.web.extensions>
更新:默认大小为2097152,相当于4 MB的Unicode字符串数据.你真的要把这么多的数据发回给客户吗?如果这样,你需要看看应用程序设计,因为用户体验会慢而繁琐.