2017-01-27 3 views
2

Ich habe eine ASP.NET WebAPI-Anwendung und einige der Anfrage überschreiten die maximale Länge. Das ist in Ordnung, I know I can increase the limit either in IIS or web.config, aber das ist nicht mein Punkt.Gelesen erste Bytes des Körpers, wenn "Maximale Anfrage Länge überschritten"

Wenn ich den Inhalt der Anfrage mit einer der Methoden Request.Content.Read lesen, geben alle eine Maximum request length exceeded Ausnahme zurück.

Ich möchte jedoch die ersten Zeichen des Körpers für Protokollierungszwecke abrufen.

Ist es immer noch möglich, nur die ersten Buchstaben des Körpers zu lesen? Oder ist der gesamte Inhalt nicht abrufbar?

+5

Nein‘es nicht ist possile, wenn IIS die Inhaltsgröße Lesen stoppt erhält, wenn er größer ist als die zulässige maximale Länge. – Gusman

+0

Laden Sie eine Datei hoch? Können Sie ein HttpModule implementieren, um Datei-Uploads zu behandeln? Hier ist mehr Infos dazu: https://weblogs.asp.net/jongalloway/large-file-uploads-in-asp-net – felipekm

+0

@felipekm das erwartete Format der Anwendung ist JSON, aber die Idee ist, dass ich möchte überprüfe die ersten Zeichen/Bytes jeder Anfrage, die ich bekomme, damit ich verstehen kann, was wir erhalten haben. Es ist eine firmeninterne API und hilft bei der Behebung von Kommunikationsproblemen zwischen APIs. –

Antwort

1

Sie müssen die Ausnahme in der Datei global.asax abfangen, dann haben Sie die Anforderungsdaten.

sehen diese 2 Links:

Catching "Maximum request length exceeded" http://geekswithblogs.net/sglima/archive/2011/09/20/how-to-handle-maximum-request-length-exceeded-exception.aspx

+0

Sie sollten keine Antwort mit nur einem Link zu einer externen Ressource bereitstellen, denn wenn die Ressource nicht mehr verfügbar ist, wird diese Antwort nutzlos. Sie sollten versuchen, ein minimales Beispiel in die Antwort einzufügen. Siehe [Ihre Antwort ist in einem anderen Schloss] (http://meta.stackexchange.com/questions/225370/your-answer-is-in-another-castle-when--annanswer-not-an-answer) –

Verwandte Themen