6 Stimmen

Warum wird Application_BeginRequest() beim Aktualisieren des Browsers zweimal ausgelöst?

Ich beobachte einige wirklich verwirrend Verhalten mit dem Application_BeginRequest-Ereignis in meiner Global.asax-Datei (in einem ASP.NET MVC app). Beim Ausführen durch den Debugger, wenn ich meinen Browser (IE7) aktualisieren, wird dieses Ereignis zweimal ausgelöst. Wenn ich einen Link klicken oder anderweitig manuell eine Seite anfordern, wird es einmal ausgelöst - wie erwartet.

Warum führt eine Aktualisierung dazu, dass BeginRequest zweimal ausgelöst wird?

Ich beobachte dies mit einem brandneuen MVC-Projekt mit den folgenden Global.asax.cs hinzugefügt

protected void Application_BeginRequest() { 
    //executed twice
}

Für den Kontext versuche ich, ein neues Objekt zur HttpContext.Current.Items-Sammlung während dieses Ereignisses hinzuzufügen, so dass es durch die gesamte Anforderung Prozess persistieren wird. Offensichtlich will ich nicht, dass dies zweimal für eine einzelne aktualisierte Anforderung geschehen!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X