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)
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 manuale 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 manuale di VBScript )
<% Dim val For Each val InApplication.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=1ToApplication.Contents.Count Response.Write(Application.Contents(cont) & "<br
/>") Next %>