ASP.NET HttpApplication.EndRequest-Ereignis wurde nicht ausgelöst

8

Nach diesem MSDN-Artikel HttpApplication .EndRequest kann verwendet werden Ressourcen schließen oder entsorgen. Dieses Ereignis wird jedoch in meiner Anwendung nicht ausgelöst / aufgerufen.

Wir fügen den Handler in Page_Load wie folgt an:

%Vor%

Die einzige Möglichkeit besteht darin, den Handler Application_EndRequest in Global.asax zu verwenden, aber das ist für uns nicht akzeptabel.

    
Crank 27.10.2008, 13:07
quelle

4 Antworten

14

Sie können Ihr eigenes HttpModule verwenden, um das EndRequest zu erfassen, wenn Sie das global.asax nicht verwenden möchten.

%Vor%

Sie müssen das Modul zu Ihrer web.config

hinzufügen %Vor%     
Eduardo Campañó 27.10.2008, 15:02
quelle
5

Laut der MSDN-Dokumentation tritt dieses Ereignis NACH der Fertigstellung der Seite auf, genau wie BeginRequest. Daher ist es meines Wissens nicht möglich, dies auf Seitenebene zu erfassen.

    
Mitchel Sellers 27.10.2008 14:08
quelle
2

Ich glaube, eine bessere Möglichkeit, dieses Ereignis zu verketten, ist die Bereitstellung einer Basisklasse für global.asax

%Vor%

und dann überschreiben Init ():

%Vor%

scheint für mich zu funktionieren (halte einen Haltepunkt), aber ich mache wirklich nichts damit.

Da es mehrere HttpApplication-Instanzen gibt, können Sie sie durch Einfügen in eine nicht-spezifische Instanz hinzufügen. Seltsamerweise habe ich auch bemerkt, dass HttpApplication.Init () nicht für die allererste HttpApplication-Instanz (aber Application_start) aufgerufen wird.

    
crokusek 29.01.2011 01:48
quelle
1

Die Seite wird wahrscheinlich gelöscht, bevor das Ereignis ausgelöst wird. Möglicherweise möchten Sie Ihre Arbeit im Page_Unload-Handler erledigen.

    
Will 27.10.2008 13:19
quelle

Tags und Links