Fișierul Global.asa
Fișierul Global.asa este un fișier opțional care pot conține declarații de obiecte, variabile și metode care pot fi accesate de către fiecare pagină într-o aplicație ASP.
Toate script - urile browser valide (JavaScript, VBScript, JScript, PerlScript, etc.) pot fi utilizate în cadrul Global.asa.
Fișierul Global.asa poate conține numai următoarele:
- evenimente de aplicare
- evenimente Sesiunea
- <obiect> declarații
- declaraţii TypeLibrary
- directiva #include
Note: Fișierul Global.asa trebuie să fie stocate în directorul rădăcină al aplicației ASP, și fiecare aplicație poate avea doar un singur fișier Global.asa.
Evenimente în Global.asa
În Global.asa vă pot spune aplicația și sesiune obiecte ce să facă atunci când aplicația / inițiază o sesiune și ce să facă atunci când se termină aplicația / sesiune. Codul pentru acest lucru este plasat în manipulare eveniment. Fișierul Global.asa poate conține patru tipuri de evenimente:
Application_OnStart - Apare atunci când primul utilizator solicită prima pagină într - o aplicație ASP. Acest eveniment are loc după ce serverul Web este repornit sau după ce fișierul Global.asa este editat. "Session_OnStart" Evenimentul are loc imediat după acest eveniment.Session_OnStart - Acest eveniment are loc în fiecare dată când un utilizator noi cereri primul său pagină în aplicația ASP.
Session_OnEnd - Acest eveniment are loc în fiecare dată când un utilizator încheie o sesiune. Un utilizator de sesiune se termină după o pagină nu a fost solicitată de către utilizator pentru un anumit timp (by default this is 20 minutes) de (by default this is 20 minutes) de (by default this is 20 minutes) .
Application_OnEnd - Acest eveniment are loc după ce utilizatorul trecut a încheiat sesiunea. De obicei, acest eveniment are loc atunci când un server Web se oprește. Această procedură este folosită pentru a curăța după setări se oprește aplicația, cum ar fi înregistrările șterge sau va scrie informații în fișiere text.
Un fișier Global.asa ar putea arăta ceva de genul:
<script language="vbscript" runat="server">
sub Application_OnStart
' Note: Pentru că nu putem folosi delimitatori script ASP (<% and %>) pentru a insera script - uri în fișierul Global.asa, am pus subrutine în interiorul unui HTML <script> Element.
<obiect> Declarații
Este posibil să se creeze obiecte cu sesiune sau domeniu de aplicare în Global.asa folosind <object> tag - ul.
Note: <object> tag - ul ar trebui să fie în afara <script> tag - ul!
Sintaxă
<object runat="server" scope=" Parametru Descriere scope Setează întinderea obiectului (either Session or Application) id Specifică un ID unic pentru obiect ProgID Un ID asociat cu un ID de clasă. Formatul pentru ProgID este [furnizor.] Componentă [.Version] Fie ProgID sau classid trebuie să fie specificate.
ClassID Specifică un ID unic pentru un obiect de clasa COM. Fie ProgID sau classid trebuie să fie specificate.
Exemple
Primul exemplu creează un obiect de domeniul sesiune numit "MyAd" folosind parametrul ProgID:
<object runat="server" scope="session" id="MyAd"
progid="MSWC.AdRotator">
</object> Al doilea exemplu creează un obiect al domeniului aplicare denumit "MyConnection" folosind parametrul classid:
<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object> Obiectele declarate în fișierul Global.asa poate fi utilizat de către orice script în cerere:
GLOBAL.ASA:
<object runat="server" scope="session" id="MyAd"
progid="MSWC.AdRotator">
</object>
You could reference the object "MyAd" from any page in the ASP application:
SOME .ASP FILE:
<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>
TypeLibrary Declarații
Un TypeLibrary este un container pentru conținutul unui fișier DLL corespunzătoare unui obiect COM. Prin includerea unui apel la TypeLibrary în fișierul Global.asa, constantele obiectului COM pot fi accesate și erori pot fi mai bine raportate de codul ASP. În cazul în care aplicația Web se bazează pe obiecte COM care au declarat tipuri de date în biblioteci de tip, puteți declara bibliotecile de tip din Global.asa.
Sintaxă
<!--METADATA TYPE="TypeLib"
file=" Parametru Descriere file Specifică o cale absolută într-o bibliotecă de tip. Fie este necesară parametrul de fișier sau parametrul UUID
uuid Specifică un identificator unic pentru biblioteca de tip. Fie este necesară parametrul de fișier sau parametrul UUID
version Opțional. Folosit pentru selectarea versiunii. În cazul în care versiunea solicitată nu este găsit, atunci se utilizează cea mai recentă versiune lcid Opțional. Identificatorul de localizare care urmează să fie utilizat pentru biblioteca de tip Valorile de eroare
Serverul poate returna unul dintre următoarele mesaje de eroare:
Cod de eroare Descriere ASP 0222 Tip nevalid specificație bibliotecă ASP 0223 Tipul de bibliotecă nu a fost găsit ASP 0224 Tipul de bibliotecă nu poate fi încărcat ASP 0225 bibliotecă tip nu poate fi înfășurat
Note: taguri pot apărea oriunde în fișierul Global.asa (both inside and outside <script> tags) în (both inside and outside <script> tags) în (both inside and outside <script> tags) - (both inside and outside <script> tags) . Cu toate acestea, se recomandă ca taguri apar în partea de sus a fișierului Global.asa.
restricţii
Restricții cu privire la ceea ce se poate include în fișierul Global.asa:
- Nu puteți afișa text scris în fișierul Global.asa. Acest fișier nu poate afișa informații
- Puteți utiliza numai Server și de aplicare obiecte în subrutine Application_OnStart și Application_OnEnd. În subrutina Session_OnEnd, puteți utiliza Server, aplicații și obiecte de sesiune. În subrutina Session_OnStart puteți utiliza orice obiect built-in
Cum să utilizați subrutine
Global.asa este adesea folosit pentru a inițializa variabile.
Exemplul de mai jos arată cum să detecteze timpul exact un vizitator ajunge pentru prima dată pe un site web. Timpul este stocat într - o variabilă sesiune numită "started" a "started" "started" , iar valoarea "started" a "started" variabilă poate fi accesată din orice pagină ASP în cerere:
<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script> Global.asa poate fi, de asemenea, folosite pentru a controla accesul paginii.
Exemplul de mai jos arată cum să redirecționeze fiecare vizitator nou la o altă pagină, în acest caz , într - o pagină numită "newpage.asp" :
<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script> Și puteți include funcții în fișierul Global.asa.
In exemplul de mai jos subrutina Application_OnStart apare atunci când pornește serverul Web. Apoi subrutina Application_OnStart apelează un alt subrutină numit "getcustomers" . "getcustomers" subrutina deschide o bază de date și preia un set record de "customers" tabel. Setul de înregistrare este atribuit o matrice, unde poate fi accesat din orice pagină ASP fără interogarea bazei de date:
<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>
Global.asa Exemplu
În acest exemplu, vom crea un fișier Global.asa care contorizează numărul de vizitatori curente.
- Application_OnStart stabilește variabila de aplicare "visitors" la 0 atunci când pornește serverul
- Session_OnStart subrutina adaugă unul la variabila "visitors" de fiecare dată când sosește un nou vizitator
- Session_OnEnd subrutina un subtracts de la "visitors" de fiecare dată când această subrutină este declanșat
Fișierul 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> Pentru a afișa numărul de vizitatori de curent într-un fișier ASP:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%>
online now!</p>
</body>
</html>