I have an MVC3
application running under .NET 4.0
and when I use JavascriptSerializer.Deserialize
I'm getting an error.
Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.
Reading Can I set an unlimited length for maxJsonLength in web.config I put the jsonSerialization maxJsonLength
key in my web.config but it gets ignored. Though I can set the JavaScriptSerializer.MaxJsonLength
property in code and it works fine.
I would like to have the value in the Web.config
rather than code. Here is how I am using JavaScriptSerializer
.
Dim client As New WebClient
...
Dim result = _client.DownloadString(Test)
Dim serializer = New JavaScriptSerializer
Return serializer.Deserialize(Of Foo)(result)
Here is my Web.config
<configuration>
<configSections>
...
</configSections>
<appSettings>
...
</appSettings>
<system.web>
<customErrors mode=On>
<error statusCode=404 redirect=/Http404/>
<error statusCode=403 redirect=/Http403/>
<error statusCode=550 redirect=/Http550/>
</customErrors>
<compilation debug=true targetFramework=4.0/>
<pages controlRenderingCompatibilityVersion=4.0>
<namespaces>
<add namespace=System.Web.Helpers/>
<add namespace=System.Web.Mvc/>
<add namespace=System.Web.Mvc.Ajax/>
<add namespace=System.Web.Mvc.Html/>
<add namespace=System.Web.Routing/>
<add namespace=System.Web.WebPages/>
</namespaces>
</pages>
</system.web>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength=50000000/>
</webServices>
</scripting>
</system.web.extensions>
<system.webServer>
....
</system.webServer>
</configuration>