setting jsonSerialization maxJsonLength in ASP.net Web.Config gives 500 error

不羁的心 提交于 2019-12-01 04:08:37

问题


So, I keep getting the 500 - Internal server error page on my .net site when I set the maxJsonLength in my web.config.

I'm modifying the .config because even though I use MaxJsonLength = Int32.MaxValue on my vb.net JavaScriptSerializer, I'm still getting InvalidOperationException for a large dictionary i'm trying to transmit even though it's well below the 4GB the MaxJsonLength @ Int32.MaxValue allows or even the supposed 4mb default limit.

I'm using toolkitscriptmanager if that means anything.

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

this didn't help (actually, it also gives 500 error without above code)

<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>

heard this should help with InvalidOperationException, but it didn't. I took it out, and still 500 error.

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

Many thanks in advance!

Edit

Same problem, but his solution doesn't work for me. The last code he added also gives 500 error. Problem with <system.web.extensions> config group when upgrading to .NET 4.0


回答1:


The problem for me was that I put the code in the beginning of the web.config. For some reason, putting it at the end worked.

Not an expert, so I have no idea why that worked.

It worked without the last two code sections that I tried to make it work.




回答2:


I agreed with Gracchus, I put this below block in end of web.config file

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



回答3:


<system.web.extensions>
    <scripting>
      <webServices>
        <!--<jsonSerialization maxJsonLength="50000000">
        </jsonSerialization>-->
        <jsonSerialization maxJsonLength="500000000">
          <!--50000000-->
        </jsonSerialization>
      </webServices>
    </scripting>
  </system.web.extensions>  

Above settings worked for me. Additionally i had to set the target framework of the website to .Net 4.0. This web config setting was giving me 500 error when the target framework was set to .Net 2.0

To change the framework, goto IIS and select Application Pool Right click on your website name and select Advanced settings. Here you can change the .Net Framework Version by clicking on the drop-down.

Also i had this setting at the bottom of the web config. Only for good luck :)

Hope this helps.



来源:https://stackoverflow.com/questions/12750689/setting-jsonserialization-maxjsonlength-in-asp-net-web-config-gives-500-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!