Web.config jsonSerialization maxJsonLength ignoriert

Ich habe eine MVC3 Anwendung unter .NET 4.0 und wenn ich JavascriptSerializer.Deserialize ich bin immer ein Fehler.

Fehler bei der Serialisierung oder Deserialisierung mithilfe der JavaScriptSerializer JSON. Die Länge der Zeichenfolge überschreitet den Wert auf der maxJsonLength-Eigenschaft.

Lesen Kann ich eine unbegrenzte Länge für maxJsonLength im web.config ich die jsonSerialization maxJsonLength Schlüssel in meiner web.config, aber es wird ignoriert. Obwohl ich das einstellen kann JavaScriptSerializer.MaxJsonLength - Eigenschaft im code und es funktioniert gut.

Ich würde gerne den Wert in der Web.config eher als code. Hier ist, wie ich bin mit JavaScriptSerializer.

Dim client As New WebClient
...
Dim result = _client.DownloadString("Test")
Dim serializer = New JavaScriptSerializer
Return serializer.Deserialize(Of Foo)(result)

Hier ist mein 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>

InformationsquelleAutor zach attack | 2013-12-11

Schreibe einen Kommentar