Lorenzo Pascucci
a- a+

Global.asa II Parte

Esempi di Global.asa
Ricordiamo che un’applicazione può avere soltanto un file Global.asa.

Esempio 1
Questo esempio illustra il modo in cui costruire uno script che obblighi gli utenti a visitare una determinata pagina , come prima pagina visitata. Se la pagina corrente ( all'interno dell'evento Session_OnStart ) è la pagina definita come pagina iniziale, non fa nulla altrimenti usa il metodo Response.Redirect per ridirezionare l'utente sulla home page desiderata.

<SCRIPT RUNAT=Server Language=VBScript>
Sub Session_OnStart
' Verifica che la prima pagina visitata dall'utente
' sia la home page da noi definita

' Sostituire startPage con il path
' della nostra Home Page

startPage = "/MyApp/StartHere.asp"
currentPage = Request.ServerVariables("SCRIPT_NAME")

if strcomp(currentPage,startPage,1) then
Response.Redirect(startPage)
end if
End Sub
</SCRIPT>


Attenzione:
Il precedente script funziona soltanto se il browser dell'utente supporta i cookies. E' necessario quindi informare l'utente nella HOME PAGE che il sito Web necessita dell'abilitazione dei cookies.

Tutti gli eventi che seguono il metodo Redirect nell'evento Session_OnStart non vengono eseguiti.

<SCRIPT LANGUAGE=VBScript RUNAT=Server> 
Sub Session_OnStart
' Session initialization script 
Response.Redirect "http:/server/app/StartHere.asp"
End sub
</SCRIPT>

Esempio 2
All'avvio dell'applicazione viene letto un file di testo contenente il valore con cui inizializzare la variabile globale Application("accessi") per il conteggio degli accessi al sito Web; all'inizio di ciascuna sessione utente il valore degli accessi viene incrementato, mentre alla terminazione dell'applicazione il valore aggiornato degli accessi verrà memorizzato nel file.

 

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart

'Inizializza la variabile per il conteggio del numero di accessi

'leggendo il valore memorizzato in un file di testo

Set FileObject = Server.CreateObject("Scripting.FileSystemObject")

Set NAccessiFile =FileObject.OpenTextFile("accessi.txt" , 1 , FALSE , FALSE )

Application("accessi") = NAccessiFile.ReadLine

End Sub

</SCRIPT>

----------------------------

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnEnd

'Sovrascrive il file "accessi.txt" con un file aggiornato

Set FileObject = Server.CreateObject("Scripting.FileSystemObject")

Set NAccessiFile =FileObject.CreateTextFile("accessi.txt" , 1 , TRUE , FALSE )

NAccessiFile.WriteLine( Application("accessi"))

End Sub

</SCRIPT>

-------------------------------

 

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnStart

'Incrementa il numero di accessi

Application.lock

Application("accessi") = Application("accessi") + 1

Application.unlock

End Sub

</SCRIPT>

--------------------------------

<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier {PROGID="progID"|CLASSID="ClassID"}>

</OBJECT>


Esempio 3
Con questo global.asa possiamo visualizzare il numero degli utenti collegati al nostro sito Web senza dover utilizzare nessun file testo. In Application_OnStart inizilizziamo il timeout di sessione e la variabile WhosOn che conta il numero di utenti online. In Sessione_OnStart incrementiamo WhosOn mentre quando l’utente termina la sua sessione ( Session_OnEnd ) la decrementiamo. 

 

<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
Sub Application_OnStart
Session.Timeout = 3 

Application.Lock
Application("WhosOn") = 0
Application.UnLock
End Sub

Sub Session_OnStart
Application.Lock
Application("WhosOn") = Application("WhosOn") + 1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("WhosOn") = Application("WhosOn") - 1
Application.UnLock
End Sub
</SCRIPT>


Per visualizzare la variabile WhosOn possiamo inserire il seguente script nella pagina iniziale della nostra applicazione.

<%
response.write "Ci sono " & Application("WhosOn") & " utenti in questo sito web."
%>



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Marcello
Ti è piaciuto l'articolo?