5

因此,当我maxJsonLength在我的web.config.

我正在修改,.config因为即使我MaxJsonLength = Int32.MaxValue在我的 vb.net 上使用JavaScriptSerializer,我仍然得到InvalidOperationException一个我试图传输的大型字典,即使它远低于允许甚至假定的4GB默认限制。MaxJsonLength @ Int32.MaxValue4mb

toolkitscriptmanager如果这意味着什么,我正在使用。

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

这没有帮助(实际上,如果没有上述代码,它也会给出 500 错误)

<sectionGroup name="system.web.extensions" type="System.Web.Extensions">
    <sectionGroup name="scripting" type="System.Web.Extensions">
        <sectionGroup name="webServices" type="System.Web.Extensions">
            <section name="jsonSerialization" type="System.Web.Extensions" />
        </sectionGroup>
    </sectionGroup>
</sectionGroup>

听说这应该有帮助InvalidOperationException,但它没有。我把它拿出来了,还是500错误。

<add key="aspnet:MaxJsonDeserializerMembers" value="2147483647" />

提前谢谢了!

编辑

同样的问题,但他的解决方案对我不起作用。他添加的最后一个代码也给出了 500 错误。 升级到 .NET 4.0 时 <system.web.extensions> 配置组出现问题

4

4 回答 4

6

对我来说,问题是我将代码放在 web.config 的开头。出于某种原因,把它放在最后是有效的。

不是专家,所以我不知道为什么会这样。

它在没有我试图使其工作的最后两个代码部分的情况下工作。

于 2012-11-05T15:03:38.843 回答
4

我同意 Gracchus 的观点,我把这个块放在 web.config 文件的末尾

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization maxJsonLength="2147483647"/>
        </webServices>
    </scripting>
</system.web.extensions>`
于 2013-07-17T06:21:32.997 回答
1
<system.web.extensions>
    <scripting>
      <webServices>
        <!--<jsonSerialization maxJsonLength="50000000">
        </jsonSerialization>-->
        <jsonSerialization maxJsonLength="500000000">
          <!--50000000-->
        </jsonSerialization>
      </webServices>
    </scripting>
  </system.web.extensions>  

以上设置对我有用。此外,我必须将网站的目标框架设置为 .Net 4.0。当目标框架设置为 .Net 2.0 时,此 Web 配置设置给了我500 错误

要更改框架,请转到 IIS 并选择Application Pool右键单击​​您的网站名称并选择Advanced settings。在这里,您可以通过单击下拉菜单来更改 .Net Framework 版本。

我也在网络配置的底部有这个设置。只为祝你好运:)

希望这可以帮助。

于 2014-06-18T05:26:54.137 回答
1

由于以上都不适合我,所以我使用了这个-

JsonResult result = Json(<your result>, JsonRequestBehavior.AllowGet);
result.MaxJsonLength = int.MaxValue;
return result;
于 2020-07-15T06:49:49.017 回答