Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

Il file Global.asa: cos'č, come utilizzarlo.

Global.asa


Il file Global.asa è un file opzionale che può contenere dichiarazioni di oggetti, variabili, metodi e può essere acceduto da ogni pagina dell’applicazione ASP.

Il file Global.asa

Il file Global.asa è un file opzionale che può contenere dichiarazioni di oggetti, variabili, metodi e può essere acceduto da ogni pagina dell’applicazione ASP. Tutti gli script (JavaScript, VBScript, JScript, PerlScript, etc.) possono essere usati nel file Global.asa.

Il file Global.asa può contenere solo le seguenti sezioni:
Eventi Application
Eventi Session
Dichiarazioni <object>
Dichiarazioni TypeLibrary
La direttiva #include

Nota: Il file Global.asa deve essere memorizzato nella direcrory principale dell’applicazione ASP, ed ogni applicazione ASP può avere soltanto un file
Global.asa.

Eventi nel Global.asa

Nel file Global.asa si può dir eagli oggetti application e session cosa fare quando l’applicazione o la sessione inizia o finisce. Il codice viene inserito in dei gestori di eventi.

Il file Global.asa contiene quattro tipi di eventi:

Application_OnStart – quando il PRIMO utente richiama la prima pagina dell’applicazione. Questo evento avviene quando il Web server viene riavviato o dopo che il Global.asa è modificato. L’evento "Session_OnStart" avviene immediatemente dopo.

Session_OnStart – tutte le volte che un NUOVO utente richiede la prima pagina in un’applicazione.

Session_OnEnd – l’evento avviene TUTTE le volte che un utente termina una sessione. U nutente termina una sessione quando non richiede pagine per un certo lasso di tempo (di default 20 minuti).

Application_OnEnd – avviene quando l’ultimo utente termina una sessione (tipicamente quando viene fermato il Web server.

Ecco un esempio di file Global.asa

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
    'codice
End Sub

Sub
Session_OnStart
    'codice
End Sub

Sub
Session_OnEnd
    'codice
End Sub

Sub
Application_OnEnd
    'codice
End Sub

</SCRIPT>

Nota: Non possiamo usare i delimitatori di script asp (<% e %>) per inserire scripts nel file Global.asa, dobbiamo inserire le subroutines all’interno di tag <script>.

Dichiarazioni <object>

E’ possibile creare oggetti con visibilità di sessione o applicazione, utilizzando il tag <object> nel file Global.asa.

Nota: Il tag <object> deve stare al di guori di tag <script>

Sintassi

<object runat="server" scope="scope" id="id"{progid="progID"|classid="classID"}>
....
</object>

Parametro Descrizione
scope Imposta l’ambito dell’oggetto (Session o Application)
id Specifica un identificatore unico per l’oggetto
ProgID Un id associato all’id di classe.

Il formato è [Fornitore.]Componente[.Versione]
ClassID Specifica un id unico per un oggetto ProgID e ClassID devono essere specificati.


Esempi

Il primo esempio crea un oggetto di session chiamato "MyAd" usando il parametro ProgID:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator"></object>

Il secondo esempio crea un oggetto di applicazione chiamato "MyConnection" utilizzando il parametro ClassID:

<object runat="server" scope="application" id="MyConnection" lassid=" Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21"></object>

Gli oggetti dichiarati nel Global.asa possono essere usati da qualsiasi script nell’applicazione:

GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd"progid="MSWC.AdRotator"></object>

Facciamo riferimento all’oggetto in un file:

ASP FILE:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>

Dichiarazioni TypeLibrary

Un TypeLibrary è un contenitore per file DLL corrispondenti ad un oggetto COM. Includendo una chiamata nel file Global.asa, le costanti dell’oggetto COM possono essere accedute, e gli errori possono essere riportati meglio nel codice ASP.

Sintassi

<!--METADATA TYPE="TypeLib" file=" filename" uuid="typelibraryuuid" version="versionnumber" lcid="localeid"-->

Parametro Descrizione
File Specifica un percorso assoluto per un type library. Richiesto
Uuid Specifica un identificatore univoco. Richiesto
version Opzionale. Usato per identificare la versione
localeid Opzionale.



Errori

Il server può restituire uno dei seguenti messaggi di errore:

Error Code Descrizione
ASP 0222 Specifica di type library
ASP 0223 Type library
ASP 0224 Non è possible caricare la Type library
ASP 0225 Non è possible spostare il Type library


Restrizioni

Cosa è possibile includere nel Global.asa:
Non si può visualizzare del testo scritto nel Global.asa. Questo file non può visualizzare informazioni
Possiamo usare solo oggetti Server ed Application nelle subroutine Application_OnStart ed Application_OnEnd. Nella subrutine Session_OnEnd subroutine, possiamo usare oggetti Server, Application, e Session. Nella subrutine Session_OnStart subroutine possiamo utilizzare tutti gli oggetti built-in

Come usare le Subroutines

Il Global.asa è usato spesso per inizializzare le variabili.
L’esempio in basso mostra come determinare quando un utente è entrato nell’applicazione (o nel sito). Il tempo è memorizzato nella variabile di sessione chiamata "started", e tale valore può essere usato in qualsiasi pagina asp dell’applicazione:

<script language="vbscript" runat="server">
sub Session_OnStart
    Session("started")=now()
end sub
</script>

Il Global.asa può anche essere usato per controllare gli accessi alle pagine.

L’esempio in basso mostra come ridirezionare ogni nuovo visitatore ad una pagina chiamata "newpage.asp":

<script language="vbscript" runat="server">
sub Session_OnStart
    Response.Redirect("newpage.asp")
end sub
</script>

Ne Global.asa si possono includere anche delle funzioni.

Nell’esempio in basso, la subrutine the Application_OnStart viene richiamata quando il webserver viene avviato, quindi la subroutine Application_OnStart chiama un’altra subroutine "getcustomers". La "getcustomers" apre una connessione ad un database e recupera I record dalla tabella "customers" table. Il recordset è assegnato ad un aray, e può errere acceduto dalle pagine dell’applicazionesenza eseguire query sul 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 file Global.asa

Nell’esempio seguente creeremo un file Global.asa che conta il numero di utenti collegati al sito.

Application_OnStart imposta la variabile "visitors" a zero quando viene avviato il server
La subroutine Session_OnStart aggiunge 1 alla variabile "visitors" ogni volta che un utente si collega
La subroutine The Session_OnEnd toglie 1 alla variabile "visitors" ogni volta che un utente lascia il sito

Il file Global.asa:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
    Application.Lock
    Application("collegati") = 0
    Application.UnLock
End Sub

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

Sub
Session_OnEnd
    Application.Lock
    Application("collegati") = Application("collegati") - 1
    Application.UnLock
End Sub

</SCRIPT>



Stampa la pagina


 

Inizio pagina

risorse per webmaster