2012-10-05 7 views
5

Also, ich bekomme immer die 500 - Interner Server Fehler Seite auf meiner .net-Site, wenn ich die maxJsonLength in meiner web.config.Einstellung jsonSerialization maxJsonLength in ASP.net Web.Config gibt 500 Fehler

Ich modifiziere die .config, denn obwohl ich MaxJsonLength = Int32.MaxValue auf meinem vb.net JavaScriptSerializer verwende, bekomme ich immer noch InvalidOperationException für ein großes Wörterbuch, das ich versuche zu übertragen, obwohl es weit unter dem liegt 4GB der MaxJsonLength @ Int32.MaxValue erlaubt oder sogar das vermeintliche 4mb Default Limit.

Ich benutze Toolkitscriptmanager, wenn das irgendetwas bedeutet.

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

dies nicht helfen (tatsächlich, es gibt auch 500 Fehler ohne obigen 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> 

hörte dies mit InvalidOperationException helfen soll, aber es kam nicht. Ich nahm es heraus und immer noch 500 Fehler.

<add key="aspnet:MaxJsonDeserializerMembers" value="2147483647" /> 

Vielen Dank im Voraus!

bearbeiten

gleiche Problem, aber seine Lösung für mich nicht funktioniert. Der letzte von ihm hinzugefügte Code ergibt ebenfalls 500 Fehler. Problem with <system.web.extensions> config group when upgrading to .NET 4.0

+0

Wenn Sie es überprüfen Firebug von Chrom erhalten Sie eine Fehlermeldung in der Antwort mit dem 500? Was Sie denken lassen, dass der Fehler durch die Größe der Antwort verursacht wird, gibt es viele andere Gründe für 500 Fehler –

+0

Vielen Dank für die Antwort. Es gibt keine Details im Antwortheader und die Antwort ist nur die typische .net 500-Fehlerseite.Der Fehler taucht auf, wenn ich die jsonSerialization maxJsonLength-Zeile einfüge. Wenn ich es herausnehme, ist alles in Ordnung, außer dass ich keine riesigen JSONs bekomme, die ich brauche. –

+0

seltsam, ich benutze in meinem Code die ganze Zeit in web.config wie Sie es ohne Probleme getan haben, ist es in ? –

Antwort

5

Das Problem für mich war, dass ich den Code in den Anfang der web.config legte. Aus irgendeinem Grund funktionierte es am Ende.

Kein Experte, also habe ich keine Ahnung, warum das funktioniert hat.

Es funktionierte ohne die letzten zwei Codeabschnitte, die ich versuchte, damit es funktioniert.

2

ich mit Gracchus vereinbart, ich habe dies unter Block Ende der Datei web.config

<system.web.extensions> 
    <scripting> 
     <webServices> 
      <jsonSerialization maxJsonLength="2147483647"/> 
     </webServices> 
    </scripting> 
</system.web.extensions>` 
+0

Stellen Sie sicher, .ajax() Anruf sync: true (doppelte Versuche zu rufen kann am Ende Ihre Anfrage) –

+0

Sie meinen, am Ende der 'Konfiguration' node? –

1
<system.web.extensions> 
    <scripting> 
     <webServices> 
     <!--<jsonSerialization maxJsonLength="50000000"> 
     </jsonSerialization>--> 
     <jsonSerialization maxJsonLength="500000000"> 
      <!--50000000--> 
     </jsonSerialization> 
     </webServices> 
    </scripting> 
    </system.web.extensions> 

über Einstellungen für mich gearbeitet. Außerdem musste ich das Zielframework der Website auf .Net 4.0 einstellen. Diese Web-Konfigurationseinstellung gab mir 500 Fehler, wenn das Zielframework 2.0

zu gesetzt wurde .Net den Rahmen zu ändern, gehe zu IIS und wählen Application Pool rechts auf Ihrer Website-Namen klicken und wählen Sie Erweiterte Einstellungen . Hier können Sie die .Net Framework Version ändern, indem Sie auf das Drop-down-Menü klicken.

Auch ich hatte diese Einstellung am unteren Rand der Web-Konfiguration. Nur für viel Glück :)

Hoffe das hilft.

Verwandte Themen