0

我正在研究 Google Map Marker V3。用户可以添加 Map Marker 和其他信息,这些信息存储在 sql Sever 数据库中。第一次加载地图页面时,我检索了存储在数据库中的所有标记并将它们显示在地图上。对于 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-属性

谢谢

4

1 回答 1

0

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

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

将限制设置得非常高存在问题:

  • 您更容易受到拒绝服务攻击
  • 您的应用程序可能会变慢并且您不知道原因(增加有效负载大小)

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

于 2011-06-18T12:46:39.057 回答