2014-06-23 9 views
6

Ich habe einen Webserver in .net arbeitet mit Nancyfx. Ich habe eine Route, die ein Bild hochladen muss, dieses Bild wird von einem Client in JSON Byte64 codiert, zusammen mit anderen Attributen gesendet. Wenn ich versuche, den eingehenden JSON mit meinem Modell zu verbinden, habe ich die nächste Ausnahme: "Die maximale JSON-Eingabelänge wurde überschritten."asp.net Web Service maximale JSON Eingabe Länge wurde überschritten

Etwas wie folgt aus:

Post["/Upload", true] = async(_, ctx) => 
{ 
    UploadModel model = null; 

    model = this.Bind<UploadModel >(); 

    . 
    . 
    . 
} 

Ich habe gelesen, dass der Wert von „maxJsonLength“ in meinem web.config Ändern dieses Problem behandelt, aber wenn ich einen höheren Wert zu setzen, gibt es keinen Effekt:

<scripting> 
    <webServices> 
    <jsonSerialization maxJsonLength="50000000"/> 
    </webServices> 
</scripting> 

Zusammen mit dem maxRequestLength:

<httpRuntime targetFramework="4.5" maxRequestLength="1000000"/> 

Für einige kleinere Bilder (5KB, 50KB) es gibt kein Problem beim Binden, aber wenn ich Bilder mit Größen von 144KB und höher sende, gibt es mir den Fehler, der mich interessiert.

Irgendwelche Gedanken? Wenn ich einige wichtige Informationen übersehen, mich nur fragen

+0

'maxStringContentLength'? – marathonman

+0

Ich habe es nur hinzugefügt, um es zu testen, aber gibt mir den gleichen Fehler. – monkeyBug

Antwort

15

Nie Jungs nichts, ich habe gerade die Antwort:

In der Dokumentation ab und bat ihn, sagt er, „wenn Sie begegnen dem überschrittenen Fehler Nancy.Json.JsonSettings.MaxJsonLength weil Ihre Nutzlast zu hoch ist, diese Grenze in Ihrem Bootsrapper ändern ...“

So ich es tat:

public class Bootstrapper : DefaultNancyBootstrapper 
{ 
     protected override void ApplicationStartup(Nancy.TinyIoc.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines) 
     { 
      base.ApplicationStartup(container, pipelines); 

      Nancy.Json.JsonSettings.MaxJsonLength = int.MaxValue; 
     } 
} 

nun nicht mehr MaxJsonLength Fehler, hoffen, dass dies auch in Zukunft jemand hilft!