问题描述
||
我正在使用Google Map Marker V3。用户可以添加Map Marker和其他信息,此信息存储在sql Sever数据库中。第一次加载地图页面时,我检索了存储在DB中的所有标记并将其显示在地图上。对于Ajax调用,我正在使用WCF和Jquery。一切正常,但有一天我遇到了错误
\“使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值\”。
为此,我增加了maxJsonLength的大小,如下所示:
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength=\"5000000\"/>
</webServices>
</scripting>
</system.web.extensions>
现在,我的应用程序再次正常运行。我的问题是,还有其他方法可以让我在运行时增加此maxJsonLength的原因,因为我必须将该项目交付给我的客户,并且如果将来发生相同的问题,此功能将停止工作。
我还在stackoverflow上找到了其他示例
我可以在web.config中为maxJsonLength设置无限长度吗?
maxjsonlength-property
谢谢
解决方法
您可以将其设置为最大值2147483644。
在达到最大值之前,您的应用程序可能会遇到严重的性能问题,因此以某种方式它是不受限制的,因为在达到此限制之前您将遇到其他问题。
将限制设置得很高有一些问题:
您更容易受到拒绝服务攻击
您的应用可能会变慢,并且您不知道为什么(增加有效负载大小)
如果我是您,我将坚持您现在拥有的价值。并且在操作文档中包括信息,因为它们看到该错误,因此应该增加该值。