L'oggetto Application e l'oggetto Session, servono entrambe a mantenere delle informazioni sul web.
Mentre l'oggetto Session è progettato per mantenere lo stato della singola sessione (apertura del browser), l'oggetto Application è progettato per mantenere lo stato di tutti il sito.
Le variabili d'applicazione servono a contenere valori uguali o di comune interese per tutti gli utenti.
Un classico esempio di utilizzo di variabili di applicazioni è quello degli utenti collegati.
Con questo script, si incrementa e si decrementa una variabile di applicazione, che è identica per tutti gli utenti.
Ecco come scrivere un valore in una Application:
<%
'Inserisco testo nella Application
Application("testo") = "Scrivo del teso"
'Inserisco numeri nella Application
Application("numero") = 15689
%>
Questi valori saranno visibili a tutti gli utenti collegati al sito.
Per un corretto utilizzo delle variabili di applicazione e per evitare che due utenti scrivano contemporaneamente nella variabile, esistono due metodi che permettono di risolvere l'eventuale problema.
- Lock per bloccare l'oggetto
- Unlock per sbloccare l'oggetto
Ecco un esempio di come far scrivere il valore di una Application
<%
'Blocco l'oggetto per poterci scrivere sopra
Application.Lock
'Scrivo dentro la variabile di applicazione
Application("testo") = "CIAO!!! Ho scritto!!!"
'Sblocco l'oggetto per dar modo ad un'altro
' utente di poter scrivere sulla variabile
Application.Unlock
%>
Durante il tempo trascorso tra Application.Lock e Application.UnLook non è possibile scrivere all'interno della variabile.
Se due chiamate vengono in tempi molto ridotti, la prima viene eseguita, la seconda attende che la prima "sblocchi" la variabile, a questo punto procede anche lei con la scrittura.
Application dispone anche di due eventi all'interno del file "global.asa" :
....
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
....
Per leggere le variabili Application basta questo script:
<% testo = Application("testo") %>
L'uso delle variabili di Applicazione è sconsigliato per registrare le informazioni dei singoli utenti, mentre è consigliato per salvare variabili utili a tutti i visitatori.
Le variabili di Applicazione sui azzerano con il riavvio ser Web Server.
E' meglio non abusare di questo tipo di variabili.