Die Datei Global.asa ist eine optionale Datei. Benutzer können Sitzungs- und anwendungsweite Objekte im angegebenen Ereignisskript deklarieren. Heute hat der Herausgeber des Fooxin Technology Channel speziell relevante Informationen gesammelt und sortiert. Interessierte Freunde können in den folgenden Artikel gehen, um mehr zu erfahren!
Wir alle wissen, dass .asa der Datei -Suffix -Name ist. Es ist das Akronym für die aktive Serveranwendung.
Es handelt sich tatsächlich um eine optionale Datei, in der der Programmschreiber Ereignisskripte angeben und Objekte mit Sitzungs- und Anwendungsbereiche deklarieren kann. Der Inhalt dieser Datei wird nicht verwendet, um dem Benutzer anzuzeigen, sondern Ereignisinformationen und -objekte, die von der Anwendung global verwendet werden. Diese Datei muss im Stammverzeichnis der Anwendung gespeichert werden. Jede Anwendung kann nur eine globale.asa -Datei haben.
Das häufigste Missverständnis über globale. ASA -Dateien ist, dass es als Bibliothek für allgemeine Verwendung von Funktionen und Unterprogrammen verwendet werden kann. Die global.asa -Datei kann nur zum Erstellen von Referenzen und Erfassungsstarts von Objekten sowie zum Endantragsobjekten und Sitzungsobjekten verwendet werden.
Die global.asa-Datei wird basierend auf Veranstaltungen auf Sitzungsebene zugegriffen und in den folgenden drei Fällen aufgerufen:
Das Standarddateiformat von Global.asa lautet wie folgt:
<Script Language = "vbscript" runat = "server"> sub application_onstart 'application_onstart run ende sub sub session_onstart Das erste Mal, dass ein Kunde auf die Startseite der Anwendung zugreift.
1. Session_onstart
Schauen wir uns zunächst einen Code an, der die Benutzer für die Eingabe der Seite steuert:
1. Global.asa (unter dem Wurzelverzeichnis des debuggeden virtuellen Verzeichnisses gestellt)
<Script Language = "VBScript" Runat = "Server"> sub session_onstart 'Solange sich der Benutzer zum ersten Mal auf dieser Website anmeldet, wird er zur Homepage -Antwort springen.
Debuggen Sie dann alle Dateien im aktuellen virtuellen Verzeichnis und Sie werden feststellen, dass alle Seiten auf http://www.webjx.com/ <
In diesem Beispiel eines "erzwungenen Eintritts in eine bestimmte Seite" kann man sich vorstellen, dass es sehr notwendig ist, wenn die Startseite befolgt werden muss.
Beachten wir weiterhin die Ereignisse Session_onstart und Session_onend mit einem Beispiel für "Anzahl der Online -Benutzer"
2. Session_onend
2. global.asa (unter dem Wurzelverzeichnis des debuggeden virtuellen Verzeichnisses gestellt)
<Script Language = vbScript runat = server> sub application_onstart 'Anfangswert ist 0 application ("Online") = 0 Ende sub sub session_onstart' Ein Benutzerzugriff fügt 1 Anwendung hinzu. Application ("online") - 1 application.unlock End sub </script>3. Online.asp
<%if request.queryString ("logout") = "true", sessionSie stellen fest, dass auf der Seite nur eine Anwendung ("online") und sie auch verwiesen wird. Woher kommt der Wert? Dies ist der Schlüssel zur Datei Global.asa. Sie können Fenster in diesem Computer öffnen, Fenster schließen oder das Debuggen der beiden Methoden beenden.
3. verfeinern Sie es weiterhin
Sie werden feststellen, dass sich die Auswirkungen des Schließens des Fensters nach der "Beenden" -Kinne vom Fenster direkt unterscheiden. Da die Sitzung rechtzeitig vorhanden ist, wenn das Fenster direkt geschlossen wird, kann das Session_onend -Ereignis nicht ausgelöst werden. Wie kann diese fast unmögliche Idee also verwirklicht werden?
Wie wir alle wissen, kann sie, wenn eine Webseite geschlossen ist, von einem Onunload -Ereignis begleitet werden. Ist es nicht alles, was wir brauchen, solange die Onumload ausgeführt werden kann? Sagen Sie weniger Unsinn, ändern Sie online.asp.
<%if request.queryString ("logout") = "true" dann session.abandon () response.end End if%> <body onunload = javaScript: window.open ("exit.asp")> Es gibt derzeit <%= application ("Online")%> Online <a href = "online?Beachten Sie, dass Exit.asp, wenn Online.asp ist, geöffnet wird. Dann setzen Sie einfach session.abandon () in exit.asp und nicht in Ordnung.
beenden.asp
<%Session.abandon ()%> <script> self.close () </script>
Natürlich wurde ein Skriptskript hinzugefügt, um sich unmittelbar nach der Auswahl der Sitzung zu schließen. Jetzt reicht nur eine Webanwendung mit Online -Statistiken aus.
4. Eingehende Studie von Global.asa
Aus dem obigen Debuggen lernen Sie aus einem Beispiel und wenden Sie es auf andere an und stellen auf jeden Fall eine Frage: Wie kann man die Anzahl der registrierten Benutzer online kontrollieren? Lesen wir die folgenden Dokumente nacheinander:
V.
<Script Language = "vbscript" runat = "server"> sub application_onstart application ("online") = 0 Ende sub sub session_onstart end sub sub session_onend Wenn Sitzungen ("Pass") dann bestimmen Sie, ob es sichBeachten Sie, dass der Session_onstart -Block in dieser globalen.asa keine Ereignisse verursacht.
Denn sobald ein Benutzer auf den Server zugreift, wird ein OnStart -Ereignis generiert, unabhängig davon, ob sich der Benutzer anmeldet oder nicht. Jetzt müssen Sie sich nur noch bei der Online des Benutzers anmelden, sodass Sie dem OnStart -Ereignis nicht 1 hinzufügen können.
Da das betriebliche Ereignis generiert wird, unabhängig davon, ob die Sitzung des protokollierten Benutzers vorbei ist (wenn ein Besucher den Server besucht, jedoch nicht angemeldet ist, wird das Onend-Ereignis auch nach Ende der Sitzung generiert), also ist eine Anweisung im Session_onend-Ereignis verwendet, ob es sich um das angegebene Ereignis des eingelegten Benutzerereignisses handelt. In diesem Fall wird die Anzahl der online -Personen um 1 reduziert.
Und es ist erwähnenswert, dass die Verwendung von Sitzungen ("Pass") darauf zurückzuführen ist, dass die Verwendung von Sitzungsobjekten im erwähnten Ereignis verboten ist, aber die Sitzungsvariable kann unter Verwendung einer Sammlung von Sitzungsobjekten aufgerufen werden. Mit anderen Worten, Sie können keine Sitzung ("Pass") direkt schreiben, aber Sie müssen eine Sitzung schreiben. Inhalt ("Pass").
5. Login.asp
Derzeit registriertes Mitglied <%= Anwendung ("Online")%>.
<a href="login.asp?logout=true">Exit</a> <%else%> <form action="login.asp" method="post"> <input type="text" name="name"><br> <input type="password" name="pwd"><br> <input type="submit" name="submit" value="submit"> <%end if%>
Erkennen Sie einfach nur, dass wenn der Name Cnbruce und das Passwort Cnrose sind, eine Sitzung ("Pass") = True erzeugt wird, die in global.asa beurteilt wird.
5. Verwenden Sie Ihre Fantasie weiterhin
Denken Sie darüber nach, denken Sie noch einmal darüber nach. Es reicht nicht aus, nur zu zählen, wie viele Personen online sind, und erfordert auch den Online -Status des Benutzers.
Sie können sich die grundlegende Methode vorstellen. Wenn sich der Benutzer anmeldet, setzen Sie das Online in login.asp auf 1 (hochladen Wenn es eine Datenbank vorliegt). Wenn der Benutzer jedoch offline ist, setzen Sie das Online auf 0. Um sie zu verbessern, müssen Sie das Session_onend -Ereignis ändern und das Online -Wert auf 0 einstellen (derselbe Wert wird hochgeladen) ...
Natürlich ist Global.asa viel mehr als das. Aber wir müssen uns jetzt nicht beeilen, um alles zu meistern. Wenn wir mit der Datenbank in Kontakt kommen, werden wir zurückkehren, um sie zu betrachten und die Datei weiter zu studieren. Ich glaube, dass wir bis dahin definitiv viel realisieren werden. Lassen Sie uns also die oben genannten zuerst gründlich verstehen.
Ich hoffe, dass ich in diesem Artikel kurz die Verwendung von Global.asa -Dateien von ASP analysieren werde, die Ihnen mehr Hilfe bringen können. Weitere technische Kenntnisse werden im Wuxin Technology Channel Network verfügbar sein!