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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut dem link, den Sie (die 2. meisten Stimmen Antwort), Ihre web.config-Einstellung wird ignoriert, weil Sie eine interne Instanz der
JavaScriptSerializer
.Wenn Sie brauchen, der Wert gespeichert werden im web.config, könnte man hinzufügen, ein Schlüssel in der
<appSettings>
AbschnittmaxJsonLength
mit einem Wert von50000000
und dann in Ihrem code, Sie können es verwenden, wie:Getan. Auch merkte ich, gab Sie ein C# - Beispiel, nicht sehen, Ihre vb.net tag bis jetzt 🙂
InformationsquelleAutor lhan