Come possiamo usare global.asax in asp.net? E che cos'è?
Come possiamo usare global.asax in asp.net? E che cos'è?
Risposte:
MSDN ha una descrizione dello scopo del file global.asax.
In effetti, global.asax consente di scrivere codice che viene eseguito in risposta a eventi "a livello di sistema", come l'avvio dell'applicazione, la fine di una sessione, il verificarsi di un errore dell'applicazione, senza dover tentare di inserire quel codice in ogni singolo pagina del tuo sito.
Puoi usarlo scegliendo Aggiungi> Nuovo elemento> Classe applicazione globale in Visual Studio. Dopo aver aggiunto il file, puoi aggiungere codice in uno degli eventi elencati (e creati per impostazione predefinita, almeno in Visual Studio 2008):
Ci sono altri eventi a cui puoi anche agganciarti, come "LogRequest".
Spiegazione degli eventi globali asax
Application_Init: attivato quando un'applicazione viene inizializzata o viene chiamata per la prima volta. Viene richiamato per tutte le istanze di oggetti HttpApplication.
Application_Disposed: attivato appena prima che un'applicazione venga eliminata. Questo è il luogo ideale per ripulire le risorse utilizzate in precedenza.
Application_Error: attivato quando viene rilevata un'eccezione non gestita all'interno dell'applicazione.
Application_Start: attivato quando viene creata la prima istanza della classe HttpApplication. Ti consente di creare oggetti accessibili da tutte le istanze di HttpApplication.
Application_End: attivato quando l'ultima istanza di una classe HttpApplication viene eliminata. Viene attivato solo una volta durante la vita di un'applicazione.
Application_BeginRequest: attivato quando viene ricevuta una richiesta di applicazione. È il primo evento generato per una richiesta, che spesso è una richiesta di pagina (URL) immessa da un utente.
Application_EndRequest: l'ultimo evento generato per una richiesta dell'applicazione.
Application_PreRequestHandlerExecute: attivato prima che il framework della pagina ASP.NET inizi a eseguire un gestore di eventi come una pagina o un servizio Web.
Application_PostRequestHandlerExecute: attivato quando il framework della pagina ASP.NET ha terminato l'esecuzione di un gestore eventi.
Applcation_PreSendRequestHeaders: attivato prima che il framework della pagina ASP.NET invii le intestazioni HTTP a un client richiedente (browser).
Application_PreSendContent: attivato prima che il framework della pagina ASP.NET invii il contenuto a un client richiedente (browser).
Application_AcquireRequestState: attivato quando il framework della pagina ASP.NET ottiene lo stato corrente (stato della sessione) relativo alla richiesta corrente.
Application_ReleaseRequestState: attivato quando il framework della pagina ASP.NET completa l'esecuzione di tutti i gestori di eventi. In questo modo tutti i moduli di stato salveranno i dati dello stato corrente.
Application_ResolveRequestCache: attivato quando il framework della pagina ASP.NET completa una richiesta di autorizzazione. Consente ai moduli di memorizzazione nella cache di servire la richiesta dalla cache, bypassando così l'esecuzione del gestore.
Application_UpdateRequestCache: attivato quando il framework della pagina ASP.NET completa l'esecuzione del gestore per consentire ai moduli di memorizzazione nella cache di memorizzare le risposte da utilizzare per gestire le richieste successive.
Application_AuthenticateRequest: attivato quando il modulo di protezione ha stabilito che l'identità dell'utente corrente è valida. A questo punto, le credenziali dell'utente sono state convalidate.
Application_AuthorizeRequest: attivato quando il modulo di protezione ha verificato che un utente può accedere alle risorse.
Session_Start: attivato quando un nuovo utente visita il sito Web dell'applicazione.
Session_End: attivato quando la sessione di un utente scade, termina o lascia il sito Web dell'applicazione.
Il file Global.asax, noto anche come file dell'applicazione ASP.NET, è un file facoltativo che contiene il codice per rispondere agli eventi a livello di applicazione e di sessione generati da ASP.NET o dai moduli HTTP.
Global.asax è il file dell'applicazione asp.net.
È un file opzionale che gestisce gli eventi generati da ASP.NET o da HttpModules. Utilizzato principalmente per eventi di inizio / fine applicazione e sessione e per la gestione degli errori globali.
Quando viene utilizzato, dovrebbe essere nella directory principale del sito Web.
La directory principale di un'applicazione Web ha un significato speciale e determinati contenuti possono essere presenti in quella cartella. Può avere un file speciale chiamato "Global.asax". Il framework ASP.Net utilizza il contenuto in global.asax e crea una classe in fase di esecuzione ereditata da HttpApplication. Durante la durata di un'applicazione, ASP.NET mantiene un pool di istanze HttpApplication derivate da Global.asax. Quando un'applicazione riceve una richiesta http, il framework della pagina ASP.Net assegna una di queste istanze per elaborare quella richiesta. Quell'istanza è responsabile della gestione dell'intera durata della richiesta a cui è assegnata e l'istanza può essere riutilizzata solo dopo che la richiesta è stata completata quando viene restituita al pool. I membri dell'istanza in Global.asax non possono essere utilizzati per condividere i dati tra le richieste, ma il membro statico può esserlo. Globale.
Il Global.asax può essere utilizzato per gestire gli eventi derivanti dall'applicazione. Questo collegamento fornisce una buona spiegazione: http://aspalliance.com/1114