|
Il file global.asa e' un file opzionale in cui e' possibile inserire dati utili per il proprio sito. Esso deve risiedere nella cartella principale (root) del sito o nella cartella principale del web secondario in cui serve. Le informazioni che si possono specificare sono a livello di Application e di Session.
Il livello Application e' relativo all'intera vita di un sito, cioe' dal momento in cui viene eseguita una qualsiasi delle pagine del proprio sito .. e fino a quando il server viene spento o riavviato.
Il livello Session e' invece legato alla visita di un visitatore, nasce nel momento in cui un visitare richiede una pagina web fino al momento in cui essa termina per Time-out (impostato di default a 20 minuti su IIS 4 e a 10 minuti su IIS 5) o per la chiamata del metodo di Abandon, molto piu' semplicemente la sessione inizia quando un utente visualizza una pagina sul suo browser e termina nel momento che lo chiude o che lascia il sito.
Tornando al global.asa esso puo' contenere:
Eventi di tipo Application
Eventi di tipo Session
Dichiarazioni <OBJECT>
Dichiarazioni Type Library
Eccone una breve ma completa descrizione:
Eventi di tipo Application Gli eventi di questo tipo sono due:
Application_OnStart: viene eseguito questo codice appena parte il sito ... cioe' nel momento in cui arriva una richiesta per una pagina qualsiasi del sito il web server lancia l'esecuzione di questo evento, viene eseguito prima dell'evento Session_OnStart.
Application_OnEnd: viene eseguito alla chiusura dell'applicazione, quindi anche dopo l'esecuzione dell'evento Session_OnEnd, diciamo che e' l'ultimo respiro del sito! Da evidenziare che non e' possibile utilizzare la funzione Server.MapPath() in questo evento.
In questi eventi e' possibile utilizzare solo gli oggetti relativi alle funzioni Application e Server, non e' quindi possibile utilizzare oggetti (e le relative funzioni) come Session, Request o Response.
Eventi di tipo Session Gli eventi di questo tipo sono due:
Session_OnStart: viene eseguito quando il server istanzia una nuova sessione collegata al sito. Il codice di questo evento viene eseguito prima di eseguire il codice della pagina richiesta, per questo motivo questo evento e' ottimo per gestire la memorizzazioni di variabili che devono nascere e morire con la sessione, ma che devono perdurare per tutta la sua durata.
Session_OnEnd: viene eseguito quanto termina una sessione o per abbandono da parte del visitatore oppure per TimeOut. Come per l'evento Application_OnEnd e' da evidenziare il fatto che non e' possibile utilizzare la funzione Server.MapPath() in questo evento.
Dichiarazioni <OBJECT>
Le dichiarazioni questo tipo servono per istanziare degli oggetti tramite il tagche saranno validi per tutta la sessione.per ulteriori informazioni vi rimando alla sezione 13 Objects, Images, and Applets delle specifiche HTML del World Wide Web Consortium (W3c).
Dichiarazioni Type Library
Le dichiarazioni Type Library sono dichiarazioni per istanziare file per i componenti COM, per ulteriori informazioni vi rimando alla TypeLibrary Declarations dell'MSDN.
Esempio di global.asa
Un esempio semplice ma efficaper per capire il funzionamento di questo file:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Application.Lock
Application("ConnDB1")="DRIVER=;pwd=pippo;DBQ="&_
Server.MapPath("/mdb-database/db1.mdb")
Application.UnLockEnd SubSub Session_OnStart
Session.Timeout=15
Session("Start")=NowEnd
SubSub Session_OnEnd
Session("End")=NowEnd Sub
</SCRIPT>
|
A cura di Stefano Straccuzzi
|