Un gruppo di pagine ASP che cooperano per uno stesso scopo è chiamato
applicazione, esiste un oggetto chiamato application che seve a gestire alcune informazioni a livello di applicazione.
Application
Un'applicazione sul web può essere un grupo di file. I file ASP lavorano
insieme per uno stesso scopo. L'oggetto application è usato per gestire
questi file insieme. Quando parliamo di Application, dobbiamo pensare ad un oggetto che "vive" con l'appplicazione stessa, e non è legato al singolo utente bensì è comune a tutti.
Lock and Unlock
A volte è necessario "bloccare" l'applicazione per eseguire dei comandi, possiamo farlo tramite i metodi
lock ed
unlock (che seve a sbloccare l'applicazione)
vediamo come fare
<%
Application.Lock
Application.Unlock
%>
Le variabili di Applicazione: Un esempio concreto
Per comprendere l'utilizzo delle variabili di applicazione, vi farò vedere come funziona il contatore di utenti collegati che potete vedere sulla homepage di morpheusweb.it
Per farlo ho utilizzato delle variabili di applicazione inizializzate e valorizzate nel file global.asa (esiste un capitolo del Tutorial apposta su questo particolare file)
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Application.Lock
Application("collegati") = 0
Application.UnLock
End Sub
Sub Session_OnStart
Application.Lock
Application("collegati") = Application("collegati") + 1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
Application("collegati") = Application("collegati") - 1
Application.UnLock
End Sub
</SCRIPT>
Ecco come funziona. Quando viene avviata l'applicazione (all'avvio del web) c'è una variabile di applicazione chiamata application("collegati") che viene inizializzata a zero, in quanto viene eseguito il metodo Application_OnStart. Quando un utente si collega crea una nuova sessione, che scatena l'evento Session_OnStart che incrementa la variabile di 1. In modo analogo quando un utente abbandona il sitola variabile di applicazione viene decrementata.
Per accedere alla variabile di sessione possiamo poi utilizzare il seguente codice:
Ci sono <%= Application("collegati") %> utenti collegati.
La c ollection Contents
La collection Contents contiene tutte le variabili di applicazione, possiamo scorrerne i valori tramite un ciclo For Each (per chi volesse approfondire la sintassi del ciclo c'è un capitolo nel
Tutorial di VBScript )
<%
Dim val
For Each val In Application.Contents
Response.Write(val & "<br
/>")
Next
%>
Una proprietà importante è
count, che restituisce il numero di elementi della collection. Come esempio vediamo un metodo analogo al precedente per visualizzare i valori della collection Contents:
<%
Dim cont
For cont=1 To Application.Contents.Count
Response.Write(Application.Contents(cont) & "<br
/>")
Next
%>