因此,当我在web.config中设置maxJsonLength时,我的.net站点上的500 - 内部服务器错误页面仍然存在。
我正在修改.config,因为即使我在我的vb.net JavaScriptSerializer上使用MaxJsonLength = Int32.MaxValue,我仍然会收到一个大字典的InvalidOperationException,即使它远低于4GB MaxJsonLength @ Int32.MaxValue允许甚至假定的4mb默认限制。
如果这意味着什么,我正在使用toolkitscriptmanager。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
这没有帮助(实际上,如果没有上面的代码,它也会产生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错误。 Problem with <system.web.extensions> config group when upgrading to .NET 4.0
答案 0 :(得分:5)
问题在于我将代码放在web.config的开头。出于某种原因,把它放在最后工作。
不是专家,所以我不知道为什么会这样。
没有最后两个代码部分我尝试使其工作。
答案 1 :(得分:3)
我同意Gracchus,我把它放在web.config文件末尾的块下面
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483647"/>
</webServices>
</scripting>
</system.web.extensions>`
答案 2 :(得分: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并选择应用程序池右键单击您的网站名称,然后选择高级设置。在这里,您可以通过单击下拉列表来更改.Net Framework版本。
此外,我在网络配置的底部有此设置。只是为了好运:))
希望这会有所帮助。
答案 3 :(得分:1)
由于上述方法都不适合我,因此我使用了此方法
JsonResult result = Json(<your result>, JsonRequestBehavior.AllowGet);
result.MaxJsonLength = int.MaxValue;
return result;