L'oggetto Application si può paragonare, in un certo senso, al fratello maggiore dell'oggetto Session. Infatti questi due oggetti svolgono un lavoro molto simile con una particolarità in comune: quella di conservare dati volatili (in quanto sono tali le variabili che si utilizzano) riguardanti la connessione al web.
La differenza in cosa consiste? La risposta è molto semplice. Come spiegato in precedenza riguardante l'oggetto Session, quest'ultimo è in grado di mantenere i dati della visita di un singolo utente. L'Application è molto più potente. Infatti la stessa variabile, purché usata come Application, consente di condividere lo stesso dato tra tutti i visitatori presenti in un dato istante di tempo. Il classico esempio di Application presente in diversi siti web è il numero di utenti collegati in un determinato istante ad un sito web. Il valore numeri viene incrementato quando un nuovo visitatore entra nel web e decrementato quando esce. La struttura sintattica dell'oggetto Application è la seguente:
<%
'Inserimento valore in Application
Application("nome_variabile") = valore
%>
Nella gestione delle Application è possibile a volte ottenere un conflitto per accedere alla stessa. Per evitare ciò, bisogna prima bloccare la variabile e poi ricordarsi di sbloccarla una volta terminata la modifica. Ecco un breve esempio di come effettuare una modifica alla variabile di questo tipo:
<%
' Svolgimento dello scripting della pagina Asp
...
' Bloccare la variabile di tipo Application
Application.lock
' Inserimento del valore 5 nella variabile mio_numero
Application("mio_numero") = 5
' Sblocco della variabile di tipo Application
Application.unlock
' Prosecuzione dello scripting di pagina Asp
...
%>
Com'è possibile notare dal breve esempio sovrastante, l'Application va bloccata appena prima di modificare il suo contenuto e sbloccata immediatamente dopo. Classico errore di distrazione che poi provoca un mal funzionamento di questo oggetto è quello di dimenticarsi di sbloccare la variabile dopo l'uso. In conclusione ricordo che qualunque modifica apportata sul valore di una variabile Application, andrà ad influenzare la navigazione di tutti gli utenti presenti.