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

user1382306 picture user1382306 · Oct 5, 2012 · Viewed 23.4k times · Source

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>
</system.web.extensions>

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

Answer

user1382306 picture user1382306 · Nov 5, 2012

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.