Tim*_*ugh 15 asp.net json web-services javascriptserializer
我使用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);
Run Code Online (Sandbox Code Playgroud)
red*_*are 33
设置从客户端脚本调用的Web方法的最大长度的唯一方法是通过web.config文件(如下所示).你设置这个有什么问题?我每次都会通过多次xhr调用来传输部分数据.
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="500000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
Run Code Online (Sandbox Code Playgroud)
更新:默认大小为2097152,相当于4 MB的Unicode字符串数据.你真的要把那么多的数据发回给客户吗?如果是这样的话,你需要查看应用程序设计,因为用户体验会变得缓慢而繁琐.
DJ'*_*DJ' 11
2147483647
是正确的值.为了避免代码混淆,你可以使用类似的东西
var JsonSerializer = new JavaScriptSerializer();
JsonSerializer.MaxJsonLength = Int32.MaxValue;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36718 次 |
最近记录: |