【问题标题】:InvalidOperationException despite MaxJsonLength = Int32.MaxValueInvalidOperationException 尽管 MaxJsonLength = Int32.MaxValue
【发布时间】:2012-10-05 15:17:02
【问题描述】:

我认为我没有超过 MaxJsonLength,但我仍然收到“使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了 maxJsonLength 属性上设置的值”。

我查看了结果有多长,结果是 25,000 行。我通过输出一个较小的结果来检查每行的平均长度,平均行是 48.5 个字符。

25,000 * 48.5 个字符 = 1,224,140 个字符。

MS 说 maxJsonLength 是以字符为单位的。 Int32.MaxValue 超过 20 亿。什么给了?

注意:我没有使用 MVC,这是用 VB 2010 编写的与 jQuery 对话的 WebMethod。结果使用字典数组进行组织。我得到较小集合的结果就好了。我确认我的序列化程序的 maxJsonLength 设置为最大值。

提前非常感谢!

【问题讨论】:

    标签: jquery ajax dictionary webmethod invalidoperationexception


    【解决方案1】:

    在 ASP.NET 中,反序列化的默认最大值为 1000 个 JSON 成员。它于去年 12 月推出。看看这是否是您的应用程序的问题。 Here's an article for this.

    【讨论】:

      猜你喜欢
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      相关资源
      最近更新 更多