Die Datei Global.asa
Die Global.asa Datei ist eine optionale Datei, die Erklärungen von Objekten, Variablen enthalten, und Methoden, die von jeder Seite in einer ASP-Anwendung zugegriffen werden können.
All gültige Browser - Skripte (JavaScript, VBScript, JScript, PerlScript, etc.) kann innerhalb Global.asa verwendet werden.
Die Global.asa Datei kann nur folgendes enthalten:
- Anwendungsereignisse
- Sitzungsereignisse
- <Object> Erklärungen
- Erklärungen Typelibrary
- die # include-Direktive
Note: Die Global.asa - Datei im Stammverzeichnis der ASP - Anwendung gespeichert werden muß, und jede Anwendung nur eine Datei Global.asa haben kann.
Ereignisse in Global.asa
In Global.asa können Sie die Anwendung erklären und Sitzungsobjekte, was zu tun, wenn die Anwendung / Session beginnt und was zu tun ist, wenn die Anwendung / Sitzung beendet. Der Code hierfür wird in Event-Handler gesetzt. Die Datei Global.asa vier Arten von Ereignissen enthalten:
Application_OnStart - Tritt ein, wenn der erste Benutzer die erste Seite in einer ASP - Anwendung aufruft. Dieses Ereignis tritt ein, nachdem der Web-Server neu gestartet wird oder nachdem die Global.asa Datei bearbeitet wird. Die "Session_OnStart" Ereignis tritt unmittelbar nach diesem Ereignis.Session_OnStart - Dieses Ereignis tritt jedes Mal ein neuer Benutzer seine erste Seite in der ASP - Anwendung anfordert.
Session_OnEnd - Dieses Ereignis tritt jedes Mal , wenn ein Benutzer eine Sitzung endet. Eine Benutzer-Sitzung endet nach einer Seite für eine bestimmte Zeit nicht vom Benutzer angefordert wurde (by default this is 20 minutes) .
Application_OnEnd - Dieses Ereignis tritt ein, nachdem der letzte Benutzer die Sitzung beendet wird. Normalerweise tritt dieses Ereignis, wenn ein Web-Server stoppt. Dieses Verfahren wird verwendet, um Einstellungen zu bereinigen, nachdem die Anwendung beendet, wie das Löschen Aufzeichnungen oder Daten schreiben in Textdateien.
Eine Datei Global.asa wie folgt aussehen könnte:
<script language="vbscript" runat="server">
sub Application_OnStart
' Note: Da wir nicht die ASP - Skript - Trennzeichen verwenden können (<% and %>) Skripte in der Global.asa - Datei einfügen, wir setzen Subroutinen in einem HTML <script> Element.
<Object> Meldungen
Es ist möglich , Objekte mit Sitzungs- oder Anwendungsspektrum in Global.asa zu erstellen , indem die Verwendung von <object> -Tag.
Note: Das <object> -Tag außerhalb der sollte <script> Tag!
Syntax
<object runat="server" scope=" Parameter Beschreibung scope Legt den Bereich des Objekts (either Session or Application) id Gibt eine eindeutige ID für das Objekt ProgID Eine ID mit einer Klasse-ID zugeordnet ist. Das Format für die Programm-ID ist [Verkauf.] Component [.Ausführung] Entweder ProgID oder ClassID muss angegeben werden.
ClassID Gibt eine eindeutige ID für ein COM-Klasse-Objekt. Entweder ProgID oder ClassID muss angegeben werden.
Beispiele
Das erste Beispiel erzeugt ein Objekt der Sitzungsbereich namens "MyAd" durch die ProgID Parameter verwendet:
<object runat="server" scope="session" id="MyAd"
progid="MSWC.AdRotator">
</object> Das zweite Beispiel erzeugt ein Objekt des Anwendungsbereich namens "MyConnection" durch den ClassID Parameter verwendet:
<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object> Die Objekte in der Global.asa-Datei deklarierten können von jedem Skript in der Anwendung verwendet werden:
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 Erklärungen
Ein Typbibliothek ist ein Behälter für den Inhalt einer DLL-Datei zu einem COM-Objekt entspricht. Durch die Einbeziehung kann einen Aufruf an die Typbibliothek in der Datei Global.asa, die Konstanten des COM-Objekts zugegriffen werden, und Fehler können besser durch den ASP-Code gemeldet werden. Wenn Ihre Web-Anwendung auf COM-Objekten beruht, die Datentypen in Typbibliotheken deklariert haben, können Sie die Typbibliotheken in Global.asa erklären.
Syntax
<!--METADATA TYPE="TypeLib"
file=" Parameter Beschreibung file Gibt einen absoluten Pfad zu einer Typbibliothek. Entweder ist die Datei-Parameter oder die UUID-Parameter sind erforderlich
uuid Gibt eine eindeutige Kennung für die Typ-Bibliothek. Entweder ist die Datei-Parameter oder die UUID-Parameter sind erforderlich
version Optional. Wird für die Version auswählen. Falls die angeforderte Version nicht gefunden wird, dann wird die neueste Version verwendet lcid Optional. Die locale Kennung für die Typ-Bibliothek verwendet werden Fehlerwerte
Der Server kann eine der folgenden Fehlermeldungen zurück:
Fehlercode Beschreibung ASP 0222 Ungültige Typbibliothek Spezifikation ASP 0223 Typbibliothek nicht gefunden ASP 0224 Typ-Bibliothek kann nicht geladen werden ASP 0225 Typ-Bibliothek kann nicht gewickelt werden
Note: Metadaten - Tags können angezeigt werden überall in der Datei Global.asa (both inside and outside <script> tags) als (both inside and outside <script> tags) . Es wird jedoch empfohlen, dass Metadaten-Tags in der Nähe der Spitze der Global.asa-Datei angezeigt werden.
Beschränkungen
Beschränkungen auf, was Sie in der Datei Global.asa können sein:
- Sie können Text in der Datei Global.asa geschrieben anzuzeigen. Diese Datei kann keine Informationen angezeigt werden
- Sie können nur Server und Anwendungsobjekte in den Application_OnStart und Application_OnEnd Subroutinen verwenden. Im Session_OnEnd Unterprogramm können Sie Server, Anwendung, und Session-Objekte verwenden. Im Session_OnStart Unterprogramm können Sie ein beliebiges Einbau-Objekt verwenden
Wie die Subroutinen verwenden
Global.asa wird häufig verwendet, um Variablen zu initialisieren.
Das folgende Beispiel zeigt, wie die genaue Zeit zu erkennen, ein Besucher zuerst auf einer Website kommt. Die Zeit wird in einer Session Variable mit dem Namen gespeichert "started" , und der Wert des "started" Variable kann von jeder ASP - Seite in der Anwendung zugegriffen werden:
<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script> Global.asa kann auch verwendet werden Seitenzugriff zu steuern.
Das folgende Beispiel zeigt , wie jede neue Besucher auf eine andere Seite umgeleitet werden , in diesem Fall zu einer Seite namens "newpage.asp" :
<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script> Und Sie können Funktionen in der Global.asa-Datei enthalten.
Im Beispiel unter dem Application_OnStart Unterprogramm auftritt, wenn der Web-Server startet. Dann ruft das Application_OnStart Unterprogramm ein anderes Unterprogramm namens "getcustomers" . Das "getcustomers" Unterprogramm öffnet eine Datenbank und ruft einen Datensatz aus der Set "customers" Tabelle. Der Datensatz wird zu einem Array zugeordnet, in denen sie ohne Abfrage der Datenbank von jeder ASP-Seite zugegriffen werden:
<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 Beispiel
In diesem Beispiel werden wir eine Global.asa-Datei erstellen, die die Anzahl der aktuellen Besucher zählt.
- Die Application_OnStart setzt die Variable Application "visitors" auf 0 , wenn der Server gestartet
- Die Session_OnStart Unterprogramm fügt eine der Variablen "visitors" jedes Mal , wenn ein neuer Besucher kommt
- Das Session_OnEnd Unterprogramm subtrahiert man von "visitors" jedes Mal , dieses Unterprogramm ausgelöst wird ,
Die Datei 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> Um die Anzahl der aktuellen Besucher in einer ASP-Datei anzuzeigen:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <%response.write(Application("visitors"))%>
online now!</p>
</body>
</html>