2009-03-18 6 views
5

Ich habe ein HttpModule, das einen Event-Handler an EndRequest gebunden hat.Kann eine Anfrage vorzeitig bearbeitet und beendet werden, früh in der Pipeline?

Gibt es eine Möglichkeit, die Anforderung im Ereignishandler zu behandeln? Das heißt, ich möchte nicht nur den Code ausführen und die Anforderung in Bewegung halten - ich möchte sie in ihren Spuren stoppen, einen Statuscode von 200 zurückgeben und ihn als einen Tag bezeichnen, ohne dass er dazu aufgefordert wird, mit dem nächsten Schritt fortzufahren Pipeline.

Antwort

6

HttpContext.Current.ApplicationInstance.CompleteRequest();

Documentation

+0

Das sieht interessant, aber wird dies die Anfrage vollständig töten? Ich sehe aus, dass Ti einfach den Rest der Pipeline überspringt und direkt zu EndRequest geht. Aber da bin ich schon (das ist das Ereignis, an das ich meinen Handler gebunden habe), und gibt es nicht immer noch eine Antwort? – Deane

+0

Damit wird die weitere Bearbeitung der Anfrage beendet. Ihr Handler ist nicht der einzige Handler in der Pipeline, so dass dies die weitere Verarbeitung anderer Handler nach Ihrem beendet und die Antwort sofort an den Client sendet. –

Verwandte Themen