5 Stimmen

Automatische Ereignisverdrahtung in Global.asax

Ich frage mich, ob es eine Möglichkeit gibt, automatisch Stub in der Global.asax's Event-Handler? Bisher habe ich nicht in der Lage gewesen, alle Beispiele zu finden, wie dies zu tun. Scheint, dass ich nur die Liste der Delegaten Namen zu finden, die mir zur Verfügung und geben Sie sie manuell.

Intellisense scheint auch keine nützlichen Informationen zu diesem Thema zu liefern.

10voto

JoshL Punkte 10418

Die ASP.Net-Laufzeit verwendet Reflection, um dynamisch nach Methoden mit Namen wie "Application_Start", "Session_Start" usw. zu suchen, und bindet sie dann an die entsprechenden Ereignisse der Klasse HttpApplication. Sie können effektiv an jedes der HttpApplication-Ereignisse binden, indem Sie einfach eine Methode in Global.asax.cs einfügen, deren Name "Application_" gefolgt vom Namen des Ereignisses ist. Um beispielsweise das Ereignis "EndRequest" zu nutzen, fügen Sie die folgende Methode in die Datei "Global.asax.cs" ein:

    protected void Application_EndRequest(object sender, EventArgs e)
    {
        // Your code here
    }

Siehe dies Blog-Eintrag von Rick Strahl für eine Reihe von hilfreichen Informationen darüber, wie dies gemacht wird.

2voto

Robert C. Barth Punkte 21461

Alle Ereignisse des HttpApplication Klasse kann einen Handler in der global.asax haben.

0voto

marc_s Punkte 701497

Ich verstehe nicht ganz, was Sie mit "automatisch Stub" die Event-Handler meinen? Wie die Eingabe der "override" und bekommen Intellisense sagen, welche Event-Handler verfügbar sind? Ich fürchte, das ist nicht da...

Hier ist jedoch ein Link, der zeigt, was verfügbar ist:

Ich kann allerdings nirgendwo eine endgültige, vollständige Auflistung finden :-(

Marc

0voto

HttpApplication.Init-Methode wird aufgerufen, nachdem alle Modulobjekte erstellt wurden und jede ihrer Init-Methoden wurde aufgerufen, die die perfekte Gelegenheit zum Einrichten von Ereignishandlern, initialisieren ein HttpModule? s Instanzvariablen, und die Verdrahtung Ereignishandler auf die Hosting-HttpApplication präsentiert.

Der Name der Methode in der asax-Klasse ist die Verkettung des Wertes des Attributs name, das zur Registrierung des Moduls in der Datei Web.config verwendet wird, eines Unterstrichs und dem Namen des Ereignisses.

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