Max Json lengte in MVC

Als je werkt met grote Ajax-requests kan het voorkomen dat je deze exception tegenkomt:

'The JSON request was too large to be deserialized.'

Dit betekent dat de Json die naar de server wordt gestuurd simpelweg te groot is en daardoor wordt genegeerd door MVC met als resultaat deze exception.

Om dit probleem te verhelpen zijn er twee oplossingen. Wanneer je welke moet gebruiken ben ik nog niet achter, maar als je beide toepast werkt het altijd.

In de web.config:

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

Hierbij geef je bij 'maxJsonLength' het aantal bytes op. let op dat dit veld een integer is.
Bij de tweede oplossing pas je ook de web.config aan, want je voegt namelijk een appsetting toe:
<add key="aspnet:MaxJsonDeserializerMembers" value="150000" />

let er op dat bij deze de waarde (value) slaat op het aantal items die in de Json dictionary mogen komen te staan. Value is dus het aantal key/value pairs die mogen worden gepost naar de server.

bron: Microsoft

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren