Molte delle pagine che si scaricano da internet quando si naviga hanno estensione .html, queste pagine quando vengono richieste
al server vengono spedite al client che le richiede così come sono, altre pagine invece hanno estensione .asp, queste quando vengono richieste prima di
essere spedite al client vengono scandite da un interprete alla ricerca di istruzioni che possono essere state scritte in diversi linguaggi, tra cui i più usati
sono senz'altro il VBscript e il Jscript, in pratica il VBscript è un linguaggio derivato nella sua sintassi dal Visual Basic
mentre il Jscript è derivato dal C.
NOTA: mentre per le pagine web con estensione .html non è necessario aver installato sul proprio pc un server per le pagine con
estensione .asp invece si, perchè come accennato prima queste prima di essere inviate al client devono essere elaborate sul server.
Queste istruzioni vengono quindi eseguite sul server prima che la pagina sia spedita al client, possono modificare la pagina web, oppure
creare, cancellare o modificare file che si trovano sul server, vengono per questo motivo chiamate pagine web dinamiche. Il file GLOBAL.ASA è un file
nativo della tecnologia ASP ma non è obbligatorio crearlo, è possibile farne anche a meno, ma è molto utile per dichiarare delle variabili che saranno
visibili a tutte le pagine che costituiscono l'applicazione ospitata sul server.
Il file GLOBAL.ASA se inserito nell'applicazione va collocato sulla cartella radice e può esisterne solo uno. Vediamo qui sotto
la struttura basilare.
<script language="JScript" runat="server">
function Application_OnStart() {
}
function Application_OnEnd() {
}
function Session_OnStart() {
}
function Session_OnEnd() {
}
</script>
Prima di tutto bisogna dire che mentre quando si inserisce codice ASP in una pagina web sia esso codice VBscript o
Jscript (in questi esempi ho usato Jscript, a me piace di più) và inserito tra i simboli <% di apertura e %> di chiusura, nel file GLOBAL.ASA invece deve essere inserito tra il Tag
<script> di apertura e il Tag </script> di chiusura. Al suo interno le quattro funzioni che vediamo rappresentano quattro eventi che si
verificano rispettivamente nell'ordine che li vediamo il primo evento quando il server viene avviato, poi il secondo quando il server viene arrestato, il terzo
evento quando una nuova sessione ha inizio (cioè quando un nuovo utente richiede una pagina del sito), infine il quarto evento quando una sessione termina.
Inserendo codice all'interno di questi quattro eventi quando questi si verificano il codice viene eseguito.
Volendo creare nella propria Home-Page un contatore che visualizza il numero di utenti connessi bisognerà inserire codice nel primo,
terzo e quarto evento nel modo che possiamo vedere qui sotto.
<script language="JScript" runat="server">
function Application_OnStart() {
Application("connessi")=0;
}
function Application_OnEnd() {
}
function Session_OnStart() {
Application("connessi")=Application("connessi")+1; }
function Session_OnEnd() { Application("connessi")=Application("connessi")-1; }
</script>
La prima funzione function Application_OnStart() rappresenta l'evento che si verifica quando il server si avvia
(quando il
server viene avviato viene arrestato solamente quando lo si arresta con un comando oppure si arresta automaticamente quando il file GLOBAL.ASA viene modificato,
in questo ultimo caso il server blocca qualsiasi nuovo utente, finisce di servire gli utenti che ancora sono connessi e poi esegue il codice nell'evento function Application_OnEnd(),
successivamente avvia di nuovo il server eseguendo function Application_OnStart()) e contiene la dichiarazione della variabile connessi che contienerà il numero di utenti connessi in ogni momento. La
funzione function Session_OnStart() che è l'evento che si verifica quando un nuovo utente si connette (richiede una pagina) contiene l'istruzione che
incrementa di 1 la variabile connessi. Infine la funzione function Session_OnEnd() che rappresenta l'evento che si verifica quando un
utente abbandona il sito contiene l'istruzione che decrementa la variabile connessi.
Adesso per visualizzare il numero di utenti connessi basta
aggiungere ad una qualsiasi pagina che abbia estensione .asp il codice che vediamo sotto.
<p>Utenti connessi: <% Response.Write(Application("connessi")) %>
|