Il file "global.asa"

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")%>