Global.asa II Parte
Esempi di Global.asa
Ricordiamo che un’applicazione può averesoltanto un file Global.asa.
Esempio 1
Questo esempio illustra il modo in cui costruire unoscript che obblighi gli utenti a visitare una determinatapagina , come prima pagina visitata. Se la pagina corrente (all'interno dell'evento Session_OnStart ) è lapagina definita come pagina iniziale, non fa nulla altrimentiusa il metodo Response.Redirect per ridirezionarel'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 PagestartPage = "/MyApp/StartHere.asp"currentPage = Request.ServerVariables("SCRIPT_NAME")if strcomp(currentPage,startPage,1) thenResponse.Redirect(startPage)end ifEnd Sub</SCRIPT>
Attenzione:
Il precedente script funziona soltanto se il browserdell'utente supporta i cookies. E' necessario quindiinformare l'utente nella HOME PAGE che il sito Webnecessita dell'abilitazione dei cookies.
Tutti gli eventi che seguono il metodo Redirectnell'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 ditesto contenente il valore con cui inizializzare la variabileglobale Application("accessi") per il conteggiodegli accessi al sito Web; all'inizio di ciascunasessione utente il valore degli accessi viene incrementato,mentre alla terminazione dell'applicazione il valoreaggiornato degli accessi verrà memorizzato nelfile.
<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 testoSet FileObject = Server.CreateObject("Scripting.FileSystemObject")Set NAccessiFile =FileObject.OpenTextFile("accessi.txt" , 1 , FALSE , FALSE )Application("accessi") = NAccessiFile.ReadLineEnd Sub</SCRIPT>
----------------------------
<SCRIPT LANGUAGE=VBScript RUNAT=Server>Sub Application_OnEnd'Sovrascrive il file "accessi.txt" con un file aggiornatoSet 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 accessiApplication.lockApplication("accessi") = Application("accessi") + 1Application.unlockEnd Sub</SCRIPT>
--------------------------------
<OBJECT RUNAT=Server SCOPE=Scope ID=Identifier {PROGID="progID"|CLASSID="ClassID"}></OBJECT>
Esempio 3
Con questo global.asa possiamo visualizzare ilnumero degli utenti collegati al nostro sito Web senza doverutilizzare nessun file testo. In Application_OnStartinizilizziamo il timeout di sessione e la variabile WhosOnche conta il numero di utenti online. In Sessione_OnStartincrementiamo WhosOn mentre quando l’utente termina lasua sessione ( Session_OnEnd ) la decrementiamo.
<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStartSession.Timeout = 3 Application.LockApplication("WhosOn") = 0Application.UnLockEnd SubSub Session_OnStartApplication.LockApplication("WhosOn") = Application("WhosOn") + 1Application.UnLockEnd SubSub Session_OnEndApplication.LockApplication("WhosOn") = Application("WhosOn") - 1Application.UnLockEnd Sub</SCRIPT>
Per visualizzare la variabile WhosOn possiamo inserire ilseguente script nella pagina iniziale della nostraapplicazione.
<%response.write "Ci sono " & Application("WhosOn") & " utenti in questo sito web."%>
- Articolo precedente Global.asa: cosa è, a cosa serve e perche modificarlo
- Articolo successivo La pagina go.asp. Vediamo come funziona