back to top

Il file Global.asa

Il file Global.asa è un file fondamentale per la gestione di un’applicazione ASP (Active Server Pages). Questo tipo di applicazione è costituita dall’insieme dei file contenuti in una directory virtuale del server Web.

A differenza di un sito Web tradizionale, un’applicazione ASP è in grado di mantenere informazioni di stato, cioè informazioni condivise tra le pagine, superando l’assenza di stato tipica del protocollo HTTP. La gestione delle informazioni di stato viene effettuata tramite gli oggetti Application e Session. Questi oggetti consentono, oltre alla condivisione di informazioni globali all’applicazione e locali alla singola sessione utente, di gestire determinati eventi.

Infatti, a differenza di quanto avviene con l’approccio CGI o con altre tecniche di server-side scripting, con ASP l’insieme delle pagine di un’applicazione è visto come un insieme unico e come tale ha un avvio e una terminazione. L’avvio avviene alla prima richiesta ricevuta dal server Web relativa ad una pagina appartenente all’applicazione; la terminazione avviene con la fine dell’esecuzione del server. Inoltre, ciascuna sessione utente ha anch’essa un inizio e una terminazione: l’inizio corrisponde alla prima richiesta di una pagina da parte dell’utente, mentre la terminazione si verifica in corrispondenza della scadenza di un intervallo di timeout predefinito.

L’esecuzione di script in corrispondenza dell’avvio e della terminazione di un’applicazione e/o di una sessione richiede la presenza di un file, denominato Global.asa, contenente gli script opportuni.

Il file, la cui estensione .asa sta per Active Server Application, viene letto dal motore ASP all’avvio dell’applicazione e all’inizio di ciascuna sessione utente. I file Global.asa possono contenere soltanto i seguenti oggetti:

  • Eventi Application
  • Eventi Session
  • Dichiarazioni <Object>
  • Dichiarazioni TypeLibrary

Gli eventi Application sono l’evento Application_OnStart e l’evento Application_OnEnd. L’evento Application_OnStart si verifica prima che la nuova sessione venga creata, mentre l’evento Application_OnEnd si verifica alla terminazione dell’applicazione.

Gli eventi Session sono l’evento Session_OnStart e l’evento Session_OnEnd. L’evento Session_OnStart si verifica quando il server crea una nuova sessione, rappresentando il momento giusto per definire tutte le variabili di sessione che verranno utilizzate durante l’applicazione. Tutti gli oggetti predefiniti Application, ObjectContext, Request, Response, Server, Session sono disponibili all’interno di questo evento. L’evento Session_OnEnd si verifica quando una sessione viene terminata o scade il relativo timeout. Sono disponibili soltanto gli oggetti predefiniti Application, Server, Session.

È possibile creare oggetti con uno scope di sessione o applicazione nei file Global.asa usando i tag <OBJECT>.

Creare un file Global.asa

Per creare un file Global.asa è possibile rinominare un file di testo e scegliere di aprirlo col proprio editor di testo preferito, ad esempio col classico Notepad. La sua estensione deve essere .asa.

La struttura del file Global.asa prevede funzioni (Sub per l’esattezza) che determinano, come abbiamo visto nell’introduzione, l’inizio e la fine di variabili di sessione e di applicazione. La sua forma standard è la seguente:

<script language="VBScript" runat="server">

Sub Application_OnStart
  ' Apre una routine di applicazione
End Sub

Sub Application_OnEnd
  ' Chiude una routine di applicazione
End Sub

Sub Session_OnStart
  ' Apre una routine di sessione
End Sub

Sub Session_OnEnd
  ' Chiude una routine di sessione
End Sub

</script>

All’interno di queste istruzioni è possibile inserire il codice richiesto. Ad esempio, per impostare una variabile di applicazione "messaggio" contenente il testo "Un benvenuto a tutti!!!", si può utilizzare il seguente codice:

<script language="VBScript" runat="server">

Sub Application_OnStart
  Application("messaggio") = "Un benvenuto a tutti!!!"
End Sub

</script>

Per richiamare la variabile di applicazione "messaggio" in un file ASP, è sufficiente utilizzare il seguente codice:

<%@LANGUAGE = VBScript%>
<%
Response.Write Application("messaggio")
%>

Il risultato sarà la visualizzazione del messaggio "Un benvenuto a tutti!!!" da parte di tutti gli utenti che accederanno alla pagina.

Inoltre, il file Global.asa può contenere ulteriori funzioni e variabili di applicazione e di sessione utili per il progetto, come ad esempio la gestione dei permessi di accesso degli utenti o la definizione di costanti di progetto. Si consiglia di prestare attenzione ai nomi delle variabili, evitando di utilizzare nomi già presenti nel progetto per evitare conflitti e problemi di compatibilità.

Pubblicitร