Was ist der Zweck von global.asax in asp.net

98

Wie können wir global.asax in asp.net verwenden? Und was ist das?

Harikrishna
quelle

Antworten:

118

MSDN enthält einen Überblick über den Zweck der Datei global.asax.

Mit global.asax können Sie effektiv Code schreiben, der als Reaktion auf Ereignisse auf Systemebene ausgeführt wird, z. B. das Starten der Anwendung, das Beenden einer Sitzung oder das Auftreten eines Anwendungsfehlers, ohne versuchen zu müssen, diesen Code in jeden einzelnen zu integrieren Seite Ihrer Website.

Sie können es verwenden, indem Sie in Visual Studio Hinzufügen> Neues Element> Globale Anwendungsklasse wählen. Sobald Sie die Datei hinzugefügt haben, können Sie Code unter allen aufgelisteten Ereignissen hinzufügen (und standardmäßig erstellt werden, zumindest in Visual Studio 2008):

  • Application_Start
  • Application_End
  • Session_Start
  • Session_End
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Anwendungsfehler

Es gibt andere Ereignisse, an die Sie sich ebenfalls anschließen können, z. B. "LogRequest".

rauben
quelle
2
Der Eintrag für global.asax wurde aus Wikipedia gelöscht.
Cathy Sullivan
Können wir die Datei global.asax für Windows Form hinzufügen?
Jeeva Jsb
@JeevaJsb, nein. Der Inhalt von global.asax besteht (im Allgemeinen) aus Ereignissen, die vom IIS / ASP.net-Anwendungslebenszyklus ausgelöst werden, sodass der Code in einer WinForms-Anwendung nicht ausgelöst werden kann.
Rob
Ich frage mich, warum sie nicht nur einen Code haben können, der von der HttpApplication-Klasse erbt und die Asax-Datei nicht benötigt. Die Datei global.asax.cs enthält alles, weshalb eine bestimmte Asax-Datei erforderlich ist, die nur diese <% @ Application Codebehind = "Global.asax.cs" Inherits = "XXXXX" Language = "C #"%> enthält
Einfach Fellow
67

Globale Asax-Ereignisse erklärt

Application_Init: Wird ausgelöst, wenn eine Anwendung initialisiert oder zum ersten Mal aufgerufen wird. Es wird für alle HttpApplication-Objektinstanzen aufgerufen.

Application_Disposed: Wird ausgelöst, kurz bevor eine Anwendung zerstört wird. Dies ist der ideale Ort, um zuvor verwendete Ressourcen zu bereinigen.

Anwendungsfehler: Wird ausgelöst, wenn in der Anwendung eine nicht behandelte Ausnahme auftritt.

Application_Start: Wird ausgelöst, wenn die erste Instanz der HttpApplication-Klasse erstellt wird. Sie können Objekte erstellen, auf die alle HttpApplication-Instanzen zugreifen können.

Application_End: Wird ausgelöst, wenn die letzte Instanz einer HttpApplication-Klasse zerstört wird. Es wird nur einmal während der Lebensdauer einer Anwendung ausgelöst.

Application_BeginRequest: Wird ausgelöst, wenn eine Anwendungsanforderung empfangen wird. Es ist das erste Ereignis, das für eine Anforderung ausgelöst wird. Dies ist häufig eine Seitenanforderung (URL), die ein Benutzer eingibt.

Application_EndRequest: Das letzte Ereignis, das für eine Anwendungsanforderung ausgelöst wurde.

Application_PreRequestHandlerExecute: Wird ausgelöst, bevor das ASP.NET-Seitenframework mit der Ausführung eines Ereignishandlers wie einer Seite oder eines Webdiensts beginnt.

Application_PostRequestHandlerExecute: Wird ausgelöst, wenn das ASP.NET-Seitenframework die Ausführung eines Ereignishandlers abgeschlossen hat.

Applcation_PreSendRequestHeaders: bevor das ASP.NET- HTTP-Header an einen anfordernden Client (Browser) sendet.

Application_PreSendContent: Wird ausgelöst, bevor das ASP.NET-Seitenframework Inhalte an einen anfordernden Client (Browser) sendet.

Application_AcquireRequestState: Wird ausgelöst, wenn das ASP.NET-Seitenframework den aktuellen Status (Sitzungsstatus) für die aktuelle Anforderung erhält.

Application_ReleaseRequestState: Wird ausgelöst, wenn das ASP.NET-Seitenframework die Ausführung aller Ereignishandler abgeschlossen hat. Dies führt dazu, dass alle Statusmodule ihre aktuellen Statusdaten speichern.

Application_ResolveRequestCache: Wird ausgelöst, wenn das ASP.NET-Seitenframework eine Autorisierungsanforderung abschließt. Es ermöglicht Caching-Modulen, die Anforderung aus dem Cache zu bedienen und so die Ausführung des Handlers zu umgehen.

Application_UpdateRequestCache: Wird ausgelöst, wenn das ASP.NET-Seitenframework die Handlerausführung abgeschlossen hat, damit Caching-Module Antworten speichern können, die zur Verarbeitung nachfolgender Anforderungen verwendet werden.

Application_AuthenticateRequest: Wird ausgelöst, wenn das Sicherheitsmodul die Identität des aktuellen Benutzers als gültig festgelegt hat. Zu diesem Zeitpunkt wurden die Anmeldeinformationen des Benutzers überprüft.

Application_AuthorizeRequest: Wird ausgelöst, wenn das Sicherheitsmodul überprüft hat, dass ein Benutzer auf Ressourcen zugreifen kann.

Session_Start: Wird ausgelöst, wenn ein neuer Benutzer die Anwendungswebsite besucht.

Session_End: Wird ausgelöst, wenn die Sitzung eines Benutzers abläuft , endet oder die Anwendungswebsite verlässt.

Nithin Paul
quelle
11

Die Global.asax-Datei, auch als ASP.NET-Anwendungsdatei bezeichnet, ist eine optionale Datei, die Code zum Reagieren auf Ereignisse auf Anwendungs- und Sitzungsebene enthält, die von ASP.NET oder von HTTP-Modulen ausgelöst werden.

http://msdn.microsoft.com/en-us/library/2027ewzw.aspx

Shoban
quelle
6

Global.asax ist die Anwendungsdatei asp.net.

Es ist eine optionale Datei, die Ereignisse verarbeitet, die von ASP.NET oder von HttpModules ausgelöst wurden. Wird hauptsächlich für Start- / Endereignisse von Anwendungen und Sitzungen sowie für die globale Fehlerbehandlung verwendet.

Bei Verwendung sollte es sich im Stammverzeichnis der Website befinden.

Oded
quelle
3

Das Stammverzeichnis einer Webanwendung hat eine besondere Bedeutung und bestimmte Inhalte können in diesem Ordner vorhanden sein. Es kann eine spezielle Datei namens "Global.asax" enthalten. Das ASP.Net-Framework verwendet den Inhalt in der Datei global.asax und erstellt zur Laufzeit eine Klasse, die von HttpApplication geerbt wird. Während der Lebensdauer einer Anwendung verwaltet ASP.NET einen Pool von von Global.asax abgeleiteten HttpApplication-Instanzen. Wenn eine Anwendung eine http-Anforderung empfängt, weist das ASP.Net-Seitenframework eine dieser Instanzen zu, um diese Anforderung zu verarbeiten. Diese Instanz ist für die Verwaltung der gesamten Lebensdauer der Anforderung verantwortlich, der sie zugewiesen ist, und die Instanz kann erst wiederverwendet werden, nachdem die Anforderung abgeschlossen wurde, wenn sie an den Pool zurückgegeben wird. Die Instanzmitglieder in Global.asax können nicht zum Teilen von Daten über Anforderungen hinweg verwendet werden, statische Mitglieder jedoch. Global.

Sandeep MVN
quelle
1

Mit Global.asax können Ereignisse behandelt werden, die sich aus der Anwendung ergeben. Dieser Link bietet eine gute Erklärung: http://aspalliance.com/1114

Matt
quelle