您的位置:首页技术文章
文章详情页

超出了JavaScriptSerializer.MaxJsonLength。处理此问题的最佳做法是什么?

【字号: 日期:2024-04-23 15:21:26浏览:25作者:猪猪
导读:如何解决超出了JavaScriptSerializer.MaxJsonLength。处理此问题的最佳做法是什么??设置从客户端脚本调用的Web方法的最大长度的唯一方法是通过web.config文件(如下)。设置这个有什么问题?我会每次通过多个xhr调用来执行此操作以流传输部分数据。<syste...
如何解决超出了JavaScriptSerializer.MaxJsonLength。处理此问题的最佳做法是什么??

设置从客户端脚本调用的Web方法的最大长度的唯一方法是通过web.config文件(如下)。设置这个有什么问题?我会每次通过多个xhr调用来执行此操作以流传输部分数据。

<system.web.extensions> <scripting> <webServices><jsonSerialization maxJsonLength='500000'></jsonSerialization> </webServices> </scripting></system.web.extensions>

更新:默认大小为2097152,相当于4MB的Unicode字符串数据。您是否真的要将那么多数据发送回客户端?如果这样,您很有可能需要查看应用程序设计,因为用户体验会很慢而且很麻烦。

解决方法

我使用jQuery的$ .ajax()函数将大量数据发送给客户端。我正在ASP.NETWeb服务中调用一个返回JSON数据的方法。对于大多数搜索而言,一切都很好,但是当我要返回大量数据集时,我遇到了JavaScriptSerializerMaxJsonLength属性问题。处理此问题的最佳做法是什么?我不想随意设置最大长度。如果返回的数据大于当前的最大值,是否可以在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);

标签: JavaScript
相关文章: