使用Jquery消费WCF服务时使用maxJsonLength

问题描述

|| 我正在使用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。 在达到最大值之前,您的应用程序可能会遇到严重的性能问题,因此以某种方式它是不受限制的,因为在达到此限制之前您将遇到其他问题。 将限制设置得很高有一些问题: 您更容易受到拒绝服务攻击 您的应用可能会变慢,并且您不知道为什么(增加有效负载大小) 如果我是您,我将坚持您现在拥有的价值。并且在操作文档中包括信息,因为它们看到该错误,因此应该增加该值。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...