Per eseguire questo script occorre disporre del global.asa e dei permessi di directory eseguibili su server IIS, nella cartella radice del sito.
Ecco il listato del global.asa :
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart()
Application("UtentiCollegati") = 0
End Sub
Sub Application_OnEnd()
Application("UtentiCollegati") = 0
End Sub
Sub Session_OnStart()
' setta il timeout delle variabili di
' Sessione a 10 minuti
Session.Timeout = 10
' quando il visitatore entra (+1)
Application.Lock
Application("UtentiCollegati") = _
Application("UtentiCollegati") + 1
Application.UnLock
End Sub
Sub Session_OnEnd()
' quando il visitatore esce (-1)
Application.Lock
Application("UtentiCollegati") = _
Application("UtentiCollegati") - 1
Application.UnLock
End Sub
</SCRIPT>
Questo script serve per incrementare e decrementere il valore dell' Application("UtentiCollegati").
Nella pagina ASP nella quale si vorrā pubblicare il numero degli utenti collegati basterā scrivere:
<%=Application("UtentiCollegati")%>
Il numero di utenti collegati non č realistico al 100%, infatti, solo con l'evento Session_OnEnd si decrementa il numero dei visitatori.
Vale la pena ricordare che questo evento accade con lo scadere del Session.Timeout, o con l'esecuzione del comando Session.Abandon da codice ASP.
Se un utente solo apre 2 browser nel giro di 30 secondi, risulteranno 2 utenti collegati, anche se in realtā ne sarā presente uno solo. Inoltre questi due utenti risulteranno collegati al sito per i prossimi 10 minuti, anche se si chiuderanno immediatamente i rispettivi browser.
L'unico modo per avere una visione piu' reale č invitare l'utente a premere su un tasto di "LOGOUT", in modo da poter eseguire il Session.Abandon e decrementare il contatore.
Un altra soluzione per rendere piu' reale il contatore di utenti collegati č di diminuire al minimo possibile il Session.Timeout.
Attenzione a non esagerare, altrimenti rischiate di dar per scollegati utenti che invece stanno ancora navigando sul vostro sito.