Corso ASP/ Lezione 3: le variabili Application

Ecco come impostare variabili visibili in tutte le pagine del sito. Facili e comode da usare, ma con cautela


L’oggetto Application permette di gestire delle variabili con una “visibilità” estesa a tutta l’applicazione. In altre parole, una variabile impostata attraverso l’utilizzo dell’oggetto Application è disponibile in tutte le pagine del sito.

Si tratta di un tipo di variabile molto utile ma che, proprio per le sue caratteristiche di “visibilità”, si piazza in memoria aumentandone il carico complessivo. Vanno usate perciò con circospezione. Solitamente si impostano dati generali come le stringhe di connessione al database, contatori, autorizzazioni, ecc.

Le variabili impostate con l’oggetto Application hanno però una durata limitata alla fase di attività dell’applicazione. Vengono cancellate quando, dopo che anche l’ultimo utente si è disconnesso dal sito, viene generato l’evento Application_OnEnd, che “spegne” l’applicazione e distrugge l’oggetto Application.

Diversamente dal tipo Application, le variabili dichiarate con l’istruzione “Dim” all’interno di una pagina Asp vengono distrutte non appena la pagina è stata eseguita ed inviata al browser. Esattamente come succede per le procedure Function o Sub, che distruggono le variabili locali alla fine della loro esecuzione.

E’ quindi consigliabile sfruttare le variabili locali prima di quelle Application.


Per impostare una variabile dell’oggetto Application non bisogna far altro che chiamare l’oggetto e assegnare il nome ad una variabile. L’oggetto stesso pensarà alla registrazione della variabile, che così possiamo subito utilizzare assegnandole un valore.

Quindi se volessi assegnare il valore “XYZ” ad una variabile Application di nome “ChiamamiComeVuoi”, non dovrò far altro che scrivere:

Application(“ChiamamiComeVuoi”) = “XYZ”

A questo punto potrò chiamare la variabile in qualsiasi pagina Asp del sito e scriverne il suo valore:

Response.Write Application(“ChiamamiComeVuoi”)

L’oggetto Application utilizza due metodi per scongiurare qualsiasi conflitto dovuto a più utenti che si trovassero ad impostare la setssa variabile Application nello stesso momento. Questi metodi sono “Lock” e “Unlock”.

Application.Lock
Application(“ChiamamiComeVuoi”) = “XYZ”
Application.Unlock

In questo modo non si corrono rischi e siamo più sicuri del risultato, si pensi a variabili impostate di frequente come i counter.. .

E’ possibile anche registrare intere matrici (array) in una variabile Application. Per farlo è sufficiente assegnare il nome della matrice ad una variabile Application, come fosse una semplice variabile. Bisogna poi avere cura di leggere la variabile Application con una matrice identica a quella utilizzata per impostarla.


Qui viene illustrato come impostare e leggere una variabile dichiarata utilizzando l’oggetto Apllication. La variabile sarà accessibile in ogni pagina del sito ma verrà cancellata dopo che saranno passati 20 minuti che l’ultimo utente si è disconnesso dal sito (default).

Per provare il seguente esempio è sufficiente copiare il codice verde qui sotto in una pagina Asp vuota e accedervi attraverso il vostro web server :


<!–Inizio esempio ASP / Plug-In
(Punto Informatico)–>

<%@ Language=VBScript %>

<HTML>

<HEAD>

</HEAD>

<BODY>

<%’ Qui imposto una variabile “Application” ad un valore stringa

Application.Lock

Application(“AppStrTesto”) = “Abbiamo utilizzato una variabile Application!<br><br>”

Application.Unlock

%>

Ecco il contenuto di “Response.Write Application(“AppStrTesto”)”:

<%Response.Write Application(“AppStrTesto”)%>

<% ‘…Che avrei anche potuto scrivere così: %>

Ecco il contenuto di “=Application(“AppStrTesto”)”:

<%=Application(“AppStrTesto”)%>

<% ‘ Le variabili application possono essere richiamate ed

‘ impostate da qualsiasi pagina del sito!

Response.Write “Provare per credere!”

%>

</BODY>

</HTML>

<!–Fine esempio ASP / Plug-In
(Punto Informatico)–>


La tua email sarà utilizzata per comunicarti se qualcuno risponde al tuo commento e non sarà pubblicato. Dichiari di avere preso visione e di accettare quanto previsto dalla informativa privacy

Chiudi i commenti