Verwenden von Modulen mit der Datei "Global.asax"
ASP.NET stellt verschiedene Module zur Verfügung, die in jede Anforderung involviert sind und Ereignisse bereitstellen, die in Global.asax behandelt werden können. Sie können diese Module beliebig anpassen und erweitern oder völlig neue benutzerdefinierte Module entwickeln, um Informationen für und über HTTP-Anforderungen zu verarbeiten, die an die ASP.NET-basierte Anwendung gesendet werden. So könnten Sie z. B. ein Ausgabecachemodul erstellen, durch das das Ausgabecacheverhalten für die gesamte Anwendung implementiert wird.
Alle Module – ob benutzerdefiniert oder von .NET Framework bereitgestellt – müssen die IHttpModule-Schnittstelle implementieren. Solange diese Module für die Anwendung registriert sind, ist eine problemlose Interaktion mit den an die Anwendung gesendeten HTTP-Anforderungen gewährleistet.
Behandeln von HttpModule-Ereignissen
Die Datei Global.asax kann zur Behandlung von Ereignissen verwendet werden, die von den in der Anforderung enthaltenen Modulen bereitgestellt werden. Sie können z. B. ein benutzerdefiniertes Authentifizierungsmodul für eine ASP.NET-Webanwendung erstellen, in der ein OnAuthenticateRequest-Ereignis bereitgestellt wird. Code, der zur Behandlung von Ereignissen geschrieben wird, die durch ein HttpModule bereitgestellt werden, muss dem folgenden Benennungsmuster entsprechen:
FriendlyModuleName_EventName(AppropriateEventArgumentSignature)
Wenn Sie z. B. Ereignisbehandlungscode für den Beginn und das Ende einer Sitzung sowie für ein OnAuthenticateRequest-Ereignis einschließen möchten, könnten Sie mit dem folgenden Beispiel vergleichbaren Code verwenden.
<Script language="VB" runat="server">
Sub Session_OnStart()
'Session start-up code goes here.
End Sub
Sub Session_OnEnd()
'Session clean-up code goes here.
End Sub
Sub Application_OnAuthenticateRequest(Source As Object, Details as EventArgs)
'Authentication code goes here.
End Sub
</script>
[C#]
<Script language="C#" runat="server">
void Session_OnStart() {
// Session start-up code goes here.
}
void Session_OnEnd() {
// Session clean-up code goes here.
}
void Application_OnAuthenticateRequest(Object Source, EventArgs Details) {
// Authentication code goes here.
}
</script>