Il global.asa č un file speciale, si trova nella directory della radice del sito (solitamente si trova in c:\inetpub\wwroot\global.asa), viene creato di default da IIS, PWS, ecc., al momento dell'installazione del Web Server.
Bisogna precisare che la sua presenza non č fondamentale all'interno di un sito.
Il file viene eseguito ogni volta che un utente si collega al sito e dovrebbe contenere solo l'inizializzazione delle variabili di sessione e di applicazione.
In realtā solo le applicazioni normalmente vengono inizializzate in questo file.
Il global.asa non puo' essere richiamato, incluso o eseguito all'interno di altri file, esso fa vita a se.
Per eseguire questo file occorre disporre dei perpessi di directory eseguibili su server IIS nella cartella radice del sito, quella in cui il esso č contenuto.
Il global.asa solitamente inizia con questo tag :
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
e termina con questo tag:
</SCRIPT>
Gli attributi LANGUAGE e RUNAT indicano rispettivamente il linguaggio di programmazione utilizzato (in questo caso VBScript) e dove questo codice deve essere eseguito (in questo caso sul Server). Ecco un classico esempio di listato di global.asa:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart()
'istruzioni da eseguire al
'quando si avvia il Web Server
...
End Sub
Sub Application_OnEnd()
'istruzioni da eseguire al riavvio
'o spegnimento del Web Server
...
End Sub
Sub Session_OnStart()
'istruzioni da eseguire all'inizializzazione
'di una nuova sessione (apertura del browser)
'da parte dell'utente.
...
End Sub
Sub Session_OnEnd()
'istruzioni da eseguire al verificarsi
'del Session.Abandon o al raggiungimento
'del Session.Timeout.
...
End Sub
</SCRIPT>
Al suo interno possono esclusivamente essere presenti solo questi quattro eventi:
-Application_OnStart() si verifica all'avvio del Web Server (IIS, PWS, ecc., ).
-Application_OnEnd() si verifica all'arresto del Web Server.
-Session_OnStart() si verifica con l'inizializzazione di una nuova sessione (apertura del browser) da parte dell'utente.
-Session_OnEnd() si verifica con l'esecuzione da codice ASP del comando Session.Abandon o al raggiungimento del Session.Timeout.
Ecco un esempio di global.asa:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart()
Application("UtentiCollegati") = 0
End Sub
Sub Application_OnEnd()
' termine delle variabili Application
End Sub
Sub Session_OnStart()
' setta il timeout delle variabili
'di Sessione a 10 minuti
Session.Timeout = 10
' quando il visitatore entra (+1)
Application.Lock
Application("UtentiCollegati") = _
Application("UtentiCollegati") + 1
Application.UnLock
End Sub
Sub Session_OnEnd()
' quando il visitatore esce (-1)
Application.Lock
Application("UtentiCollegati") = _
Application("UtentiCollegati") - 1
Application.UnLock
End Sub
</SCRIPT>
Il file serve per incrementare e decrementere il valore dell' Application("UtentiCollegati").
Questo valore verrā poi richiamato dalle pagine ASP tramite:
<%=Application("UtentiCollegati")%>