使用Jquery使用WCF服务时的maxJsonLength

时间:2011-06-18 08:26:59

标签: wcf jquery jsonserializer

我正在使用Google Map Marker V3.User可以添加地图标记和其他信息,此信息存储在sql Sever数据库中。当第一次加载地图页面时,我检索了存储在数据库中的所有标记并在地图上显示它们。对于Ajax调用我正在使用WCF和Jquery。每件事情都很好但有一天我收到了错误

“使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了maxJsonLength属性上设置的值”。

为此,我将maxJsonLength的大小增加如下:

<system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="5000000"/>
      </webServices>
    </scripting>
  </system.web.extensions>

所以现在我的应用程序再次正常工作。我的问题是,还有其他任何方式因此我可以在运行时增加此maxJsonLength因为我必须将此项目交付给我的客户端,如果将来发生同样的问题,此功能将停止工作。 我还在stackoverflow上找到了一些其他的例子 Can I set an unlimited length for maxJsonLength in web.config?

maxjsonlength-property

由于

1 个答案:

答案 0 :(得分:0)

您可以将其设置为最大值2147483644.

在您达到最大值之前,您的应用程序可能会遇到严重的性能问题,所以在某种程度上它是无限制的,因为在您达到此限制之前您将遇到其他问题。

将限制设置得很高有问题:

  • 您更容易受到拒绝服务攻击
  • 您的应用可能会变慢,但您没有获得任何信息(增加有效负载大小)

如果我是你,我会坚持你现在拥有的价值。并在操作文档中包含信息,他们会看到错误,他们应该增加值。