Ich suchte SO und fand this question, aber es ist nicht ganz das, was ich frage. Ich frage mich, ob ein IHttpModule erstellt werden kann, die die ContentLength der Anfrage überprüfen kann, und wenn ja, entweder umleiten oder irgendwie diese Anfrage auswerfen und eine neue erstellen.Upload von Dateien nach Asp.net Anfrage Länge Limit?
Insbesondere versuche ich, Bilddatei-Uploads zu behandeln, aber ich möchte die Anfrage auf der Upload-Seite mit einer Art Warnung statt einer flachen Fehlerseite fortsetzen. Ich habe dieses Stück Code, der mit einer großen Anfrage getroffen wird:
private void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
if (context.Request.ContentLength > (4 * 1024 * 1024))
{
}
}
Der Ausführungspfad betritt diesen IF-Block wie ich es will. Aber von hier aus bin ich mir nicht sicher, wohin ich gehen soll. Ist das ein schlechter Ansatz?
Edit: Wie es ist (ohne dieses Modul) meldet Fiddler, dass IIS einen 500-Code zurückgibt. Ich möchte das vermeiden und den Code 200 von der angeforderten Seite zurückgeben, nur mit der Warnung, wie ich sagte.
Ist dies der Grund, warum die von RM bereitgestellte Verbindung ReadEntityBody in einer Schleife aufruft? – Amy
Ja, genau. Es liest die gesamte Anfrage ein, so dass es später eine Antwort senden kann. –