Applikations-Ereignisse (Global.asax)
Zu Abschnitt 6.8 des Buchs
Dieses Beispiel zeigt die Behandlung von Applikations-Ereignissen
an Hand eines Beispiels, das bei jedem Seitenzugriff und bei jedem
Sitzungsbeginn einen Zähler erhöht und die aktuellen
Zahlen ausgibt.
Applikations-Ereignisse werden in der Datei Global.asax behandelt.
../../samples/Global.asax
<%@ Application Inherits="Global" Src="Global.asax.cs" %>
|
Der eigentliche Code steht aber in der Hintergrunddatei Global.asax.cs:
../../samples/Global.asax.cs
using System;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
public class Global : HttpApplication {
protected void Application_Start(Object sender, EventArgs e) {
Application["accesses"] = 0;
Application["users"] = 0;
}
protected void Application_BeginRequest(Object sender, EventArgs e) {
Application.Lock();
Application["accesses"] = (int) Application["accesses"] + 1;
Application.UnLock();
}
protected void Session_Start(Object sender, EventArgs e) {
Application.Lock();
Application["users"] = (int) Application["users"] + 1;
Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e) {}
protected void Application_EndRequest(Object sender, EventArgs e) {}
protected void Application_End(Object sender, EventArgs e) {}
}
|
Schließlich brauchen wir noch eine Seite, auf der die
Zählerstände angezeigt werden:
../../samples/6/Statistics.aspx
<%@ Page Language="C#"%>
<html>
<head> <title>ASPX-Seitenstatistik</title> </head>
<body>
<h1>Statistik:</h1>
Seitenzugriffe:<% Response.Write(Application["accesses"]); %><br>
BenutzerSessions:<% Response.Write(Application["users"]); %>
</body>
</html>
|
Ausführung
http://dotnet.jku.at/book/samples/6/Statistics.aspx
Ergebnis
|