File Global.asa ASP
- Pagina precedente ASP #include
- Pagina successiva Email ASP
Il file Global.asa è un file opzionale che può contenere dichiarazioni di oggetti, variabili e metodi che possono essere acceduti da ogni pagina dell'applicazione ASP. Tutti i script di browser validi possono essere utilizzati nel Global.asa.
File Global.asa
Il file Global.asa è un file opzionale che può contenere dichiarazioni di oggetti, variabili e metodi che possono essere acceduti da ogni pagina dell'applicazione ASP. Tutti i script di browser validi possono essere utilizzati nel Global.asa.
Il file Global.asa può includere il seguente contenuto:
- Evento Application
- Evento Sessione
- Dichiarazione <object>
- Dichiarazione TypeLibrary
- Istruzione #include
Note:Il file Global.asa deve essere conservato nella directory radice dell'applicazione ASP e ogni applicazione può avere solo un file Global.asa.
Evento in Global.asa
Nel file Global.asa, possiamo informare l'oggetto application e sessione su cosa fare durante l'avvio e la chiusura. Il codice per completare questa attività viene messo nei gestori di eventi. Il file Global.asa può contenere quattro tipi di eventi: }}
Application_OnStart - Questo evento si verifica quando il primo utente chiama la prima pagina dell'applicazione ASP. Questo evento si verifica quando il server web si riavvia o il file Global.asa viene modificato. L'evento "Session_OnStart" si verifica immediatamente dopo questo evento.
Session_OnStart - Questo evento si verifica ogni volta che un nuovo utente richiede la prima pagina dell'applicazione ASP.
Session_OnEnd - Questo evento si verifica ogni volta che un utente termina la sua sessione. Se non viene richiesta una pagina entro un periodo di tempo specificato (l'evento predefinito è di 20 minuti), la sessione termina.
Application_OnEnd - Questo evento si verifica dopo che l'ultimo utente ha terminato la sua sessione. Nei casi tipici, questo evento si verifica quando il server web si ferma. Questo sottoprogramma viene utilizzato per pulire le impostazioni dopo che l'applicazione si è fermata, ad esempio cancellare record o scrivere informazioni in un file di testo.
Il file Global.asa potrebbe essere simile a questo:
<script language="vbscript" runat="server"> sub Application_OnStart 'alcun codice end sub sub Application_OnEnd 'alcun codice end sub sub Session_OnStart 'alcun codice end sub sub Session_OnEnd 'alcun codice end sub </script>
Note:Poiché non è possibile inserire script nel file Global.asa utilizzando il separatore di script di ASP (<% e %>), dobbiamo utilizzare l'elemento HTML <script>.
Dichiarazione <object>
E' possibile creare oggetti con ambito sessione o application utilizzando il tag <object> nel file Global.asa.
Note:Il tag <object> deve essere posizionato al di fuori del tag <script>.
Sintassi:
<object runat="server" scope="scope" id="id" {progid="progID"|classid="classID"}> .... </object>
Parametro | Descrizione |
---|---|
scope | Impostare l'ambito dell'oggetto (ambito di applicazione o sessione). |
id | Assegnare un id unico all'oggetto. |
ProgID |
Id associato al ClassID. La forma del ProgID è: [Vendor.]Component[.Versione]. ProgID o ClassID devono essere specificati. |
ClassID |
Specificare un id unico per l'oggetto della classe COM. ProgID o ClassID devono essere specificati. |
istanza
La prima istanza crea un'istanza chiamata "MyAd" utilizzando il parametro ProgID e con un oggetto di ambito sessione:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
La seconda istanza crea un'istanza chiamata "MyConnection" utilizzando il parametro ClassID:
<object runat="server" scope="application" id="MyConnection" classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21" </object>
Gli oggetti dichiarati in questo file Global.asa possono essere utilizzati da qualsiasi script dell'applicazione.
GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator" </object>
È possibile fare riferimento a questo oggetto "MyAd" da qualsiasi pagina dell'applicazione ASP:
Un file .ASP:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
Dichiarazione TypeLibrary
TypeLibrary (Libreria di tipi) è un contenitore che contiene i file DLL corrispondenti agli oggetti COM. Includendo chiamate alla TypeLibrary in Global.asa, è possibile accedere ai costanti degli oggetti COM e migliorare la segnalazione degli errori dal codice ASP. Se l'applicazione del sito dipende da oggetti COM che hanno già dichiarato il tipo nella libreria di tipi, è possibile dichiarare la TypeLibrary in Global.asa.
Sintassi:
<!--METADATA TYPE="TypeLib" file="filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid" -->
Parametro | Descrizione |
---|---|
file | Definisce il percorso assoluto che punta alla libreria di tipi. I parametri file o uuid sono obbligatori. |
uuid | Definisce un identificatore unico per la libreria di tipi. I parametri file o uuid sono obbligatori. |
version | Opzionale. Utilizzato per selezionare la versione. Se non viene trovata la versione specificata, verrà utilizzata la versione più vicina. |
lcid | Opzionale. Identificatore di regione utilizzato per la libreria di tipi. |
Valore di errore
Il server restituirà uno dei seguenti messaggi di errore:
Errore | Codice | Descrizione |
---|---|---|
ASP | 0222 | Specificazione non valida della libreria di tipi |
ASP | 0223 | Type library not found |
ASP | 0224 | Type library cannot be loaded |
ASP | 0225 | Type library cannot be wrapped |
Note:Il tag METADATA può essere posizionato in qualsiasi posizione nel file Global.asa (sia dentro che fuori il tag <script>). Tuttavia, raccomandiamo di posizionare il tag METADATA all'inizio del file Global.asa.
Limitazioni
Limitazioni su ciò che può essere richiamato nel file Global.asa:
Non puoi visualizzare il testo nel file Global.asa. Questo file non può visualizzare informazioni.
Puoi utilizzare gli oggetti Server e Application solo nei sottoprogrammi Application_OnStart e Application_OnEnd. Nel sottoprogramma Session_OnEnd, puoi utilizzare gli oggetti Server, Application e Session. Nel sottoprogramma Session_OnStart, puoi utilizzare qualsiasi oggetto integrato.
Come utilizzare i sottoprogrammi
Global.asa viene spesso utilizzato per inizializzare variabili.
Esempio di come rilevare l'ora esatta in cui il visitatore è arrivato per la prima volta sul sito. L'ora è memorizzata in un oggetto Session chiamato "started", e il valore di "started" può essere acceduto da qualsiasi pagina ASP nell'applicazione:
<script language="vbscript" runat="server"> sub Session_OnStart Session("started")=now() end sub </script>
Global.asa può anche essere utilizzato per controllare l'accesso alle pagine.
Esempio di come reindirizzare ogni nuovo visitatore a un'altra pagina, in questo esempio viene reindirizzato alla pagina "newpage.asp":
<script language="vbscript" runat="server"> sub Session_OnStart Response.Redirect("newpage.asp") end sub </script>
Possiamo anche includere funzioni in Global.asa.
Negli esempi seguenti, quando il server web viene avviato, viene anche avviato il sottoprogramma Application_OnStart. Successivamente, il sottoprogramma Application_OnStart chiama un altro sottoprogramma chiamato "getcustomers". Il sottoprogramma "getcustomers" apre un database e poi recupera un set di record dallo "customers" tabella. Questo set di record viene assegnato a un array, quindi qualsiasi pagina ASP può accedere a questo array senza interrogare il database:
<script language="vbscript" runat="server"> sub Application_OnStart getcustomers end sub sub getcustomers set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs=conn.execute("select name from customers") Application("customers")=rs.GetRows rs.Close conn.Close end sub </script>
Esempio di istanza Global.asa
In questo esempio, dobbiamo creare un file Global.asa che possa calcolare il numero di visitatori attuali.
Application_OnStart imposta il valore della variabile Application "visitors" a 0 quando il server viene avviato.
Ogni volta che un nuovo utente accede, il sottoprogramma Session_OnStart aggiungerà 1 alla variabile "visitors".
Ogni volta che il sottoprogramma Session_OnEnd viene attivato, questo sottoprogramma ridurrà di 1 il valore della variabile "visitors".
File Global.asa:
<script language="vbscript" runat="server"> Sub Application_OnStart Application("visitors")=0 End Sub Sub Session_OnStart Application.Lock Application("visitors")=Application("visitors")+1 Application.UnLock End Sub Sub Session_OnEnd Application.Lock Application("visitors")=Application("visitors")-1 Application.UnLock End Sub </script>
Questo file ASP mostrerà il numero di utenti attuali:
<html> <head> </head> <body> <p>There are <%response.write(Application("visitors"))%> online now!</p> </body> </html>
- Pagina precedente ASP #include
- Pagina successiva Email ASP