Im vorherigen Artikel wurde der Autor ausführlich zwei sehr praktische Methoden zur Verwendung von ASP-integrierten Objekten anwenden und besitzt. Da sowohl OnStart- als auch Onend -Ereignisskripte in der Datei global.asa deklariert werden müssen, wird in diesem Artikel detailliert vorgestellt, wie die global.asa -Datei verwendet wird. Um es jedem zu ermöglichen, das Wissen zu beherrschen, das er bisher gelernt hat, wird dieser Artikel auch ein ASP -Chat -Programm für Ihre Referenz enthalten.
Vor kurzem haben mir viele Freunde einen Brief geschickt, an dem mich gefragt wurden, warum es solche und solche Fehler gibt, wenn das Beispielprogramm in den ersten beiden Ausgaben ausgeführt wird. Zunächst möchte ich Ihnen erklären, dass diese Programme von mir selbst geschrieben werden und die Qualifikationsinspektion vor dem Verlassen der Fabrik bestanden haben, und es gibt keine Fälsch- und schlechten Produkte. :) Da Cookies im Programm zum Aufzeichnen von Kundeninformationen verwendet werden, wird das Programm nicht normal ausgeführt, wenn Sie keine Cookies in Ihrem Browser aufnehmen. Darüber hinaus ist die Methode, die das Programm zur Aufzeichnung von Kundeninformationen in den Cookies des Kunden verwendet hat. HTTP Wenn die HTTP -Headerinformationen an den Kunden übertragen wurden, wird der folgende Fehler angezeigt, wenn die Antwort der Antwort verwendet wird. Jede Änderung eines HTTP -Headers muss vor dem Schreiben in den Seiteninhalt erfolgen. Einige Freunde können beim Ausschneiden des Programms, beim Stören der Vor- und Rück- des Programms oder beim fälschlichen Hinzufügen von HTML -Code vor dem ASP -Beispielprogramm nicht aufgepasst werden, was zu einem Fehler im ausgeführten Programm führt. Daher schlage ich vor, dass das Programm einerseits keine Änderungen an dem Programm vornimmt, und versuchen Sie, die Routine auf der anderen Seite allmählich zu verbessern. Sie sollten zumindest akzeptable Cookies im Browser auswählen.
Als nächstes werde ich Ihnen vorstellen, wie Sie Global.asa -Datei verwenden.
Was ist eine global.asa -Datei? 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. Der Name der Datei muss global.asa sein und muss im Stammverzeichnis der Anwendung gespeichert werden. Jede Anwendung kann nur eine globale.asa -Datei haben.
In der global.asa -Datei gibt der Server einen Fehler zurück. Wir können Skripte schreiben, die in der global.asa-Datei in jeder Skript-fähigen Sprache enthalten sind. Wenn sich mehrere Ereignisse in derselben Skriptsprache befinden, können sie in einer Reihe von <Script> -Tags organisiert werden.
Der in der global.asa -Datei deklarierte Prozess kann nur aus einem oder mehreren Skripten aufgerufen werden, die sich mit den Ereignissen Application_onstart, Application_onend, Session_onstart und Session_onend beziehen. Sie sind auf der ASP-Seite von ASP-basierten Anwendungen nicht verfügbar. Wenn Sie Verfahren zwischen Anwendungen freigeben möchten, können Sie sie in einer separaten Datei deklarieren und dann die Anweisung Server-Side Inclusion (SSI) verwenden, um die Datei in das ASP-Programm aufzunehmen, das die Prozedur aufruft. Im Allgemeinen sollte die Erweiterung der enthaltenden Datei .Inc sein.
Hier ist eine sehr Standard -Global.asa -Datei:
<Script Language = vbScript runat = server>
'Session_onstart läuft, wenn der Client zuerst eine Seite in der ASP -Anwendung ausführt
'Session_onend wird ausgeführt, wenn die Sitzung eines Kunden abgelaufen ist oder die Anwendung verletzt
'Application_onstart läuft, wenn ein Kunde zuerst auf die Homepage der Anwendung zugreift
'Application_onend wird ausgeführt, wenn der Webserver der Website ausgefallen ist
< /Script>
<Script Language = vbScript runat = server>
Sub application_onstart
VisitorCountFileName = Server.Mappath ( /ex2) + /vissitCount.txt
Set FileObject = server.createObject (scripting.filesystemObject)
SETOUS = FileObject.opentextFile (VisitorCountFileName, 1, Falsch, Falsch)
Anwendung (Besucher) = out.readline
Anwendung (VisitorCountFileName) = VisitorCountFileName
Ende sub
"============================================================================================================================== ================== ==========
Sub application_onend
Set FileOutObject = server.createObject (scripting.filesystemObject)
SETOUS = FileOutObject.CreateTextFile (Anwendung (VisitorCountFileName), TRUE, FALSE)
Out.WriteLine (Anwendung (Besucher))
Ende sub
"============================================================================================================================== =========================== SUB Session_onstart
Sitzung.Timeout = 5
Anwendung (Besucher) = Anwendung (Besucher) + 1
Sitzung (ID) = Session.SessionId
Ende sub
< /Script>
In diesem Global.asa -Programm ist die Dateizugriffskomponente von ASP beteiligt, die Methoden, Eigenschaften und Sammlungen für den Zugriff auf das Dateisystem bereitstellt. Dies wird in zukünftigen ASP -Komponenten erörtert. Hier dient es dazu, neue Dateien auf dem Server zu erstellen und in die Dateien zu schreiben. Dies ist tatsächlich eine globale Datei einer ASP -Seite -Zähleranwendung. Pfad und Inhalt der Datei in Variablen auf Anwendungsebene. Wenn ein Client auf eine Seite in einer ASP-Anwendung zugreift, fügt die Definition von Process Session_onstart automatisch den Wert der variablen Besucher auf Anwendungsebene hinzu. Auf diese Weise werden die variablen Besucher, wenn ein Kunde die Seite besucht, automatisch zur Funktion des Zählens der Klickrate hinzugefügt. Da der Wert der variablen Besucher im Systemspeicher gespeichert ist, wird der in der Variablen gespeicherte Server automatisch abgeschaltet oder neu gestartet. Der Server wird in der Textdatei heruntergefahren oder neu gestartet. Wenn der Server erneut startet, kann der Prozess von Application_onstart frühere Statistiken aus der Datei VisitCount.txt lesen.
Nach dieser Studienzeit konnte jeder die integrierten ASP-Objekte verwendet, um einige einfachere ASP-Anwendungen zu schreiben. Entwickeln Sie einige einfache, aber praktische ASP -Anwendungen. Lassen Sie mich ein sehr einfaches ASP -Web -Chatroom -Programm geben. Vielleicht haben Freunde gesehen, wie man ASP -Chat -Programme in einigen Magazinen schreibt, aber der Autor hat hier ein einfacheres Programm mit nur einer .asp -Datei geschrieben. Bitte kleben Sie den folgenden Code in den Notizblock und speichern Sie ihn als Chat.asp.
< %@ Sprache = vbscript %>
< %
Response.buffer = true 'Stellen Sie den Ausgangscache fest, um verschiedene Seiten anzuzeigen.
Bei Fehlerbehebung Ignorieren Sie den Programmfehlerteil
If request.servervariables (request_method) = namern
'Bestimmen Sie, wie der Client die Webseite anfordert
'-----------------------------
'Kundenanmeldeschnittstelle
'-----------------------------
%>
<formmethode = post action = chat.asp> <p>
<Eingabetyp = Textname = Nick size = 20 value = nick style = Hintergrundfarbe: RGB (192,192,192)> <br>
<Eingabetyp = Senden Sie den Chat Room-Namen = B1 Style = Color: RGB (255.255,0);
<p> <Eingabe type = Hidden name = log size = 20 value = 1> <br> </p>
< /form>
< %
Response.end 'beenden Sie den Prozess des Programms
Anders
Antwort.Clear 'Löschen Sie den Inhalt im Cache
Dim Talk
Wenn Request.Form (Nick) <> dann
'Bestimmen Sie, ob sich der Kunde in der Chat -Oberfläche befindet
Sitzung (Nick) = Request.form (Nick)
Ende wenn
'-----------------------------
Kunden -Chat -Oberfläche
'-----------------------------
%>
<formmethode = post action = chat.asp name = Form1> <p> < %= Sitzung (Nick) %> Sprechen: <Eingabe type = Textname = Talk Size = 50> <br>
<Eingabe type = value = Senden Name = B1>
<Eingabetyp = Reset Value = Abbrechen Name = B2> </p>
< /form>
<A href =/asptest/shisseng/chat.asp> Urlaub </a> <br> <br>
< %
Wenn request.form.form (log) <> 1 dann
Wenn Trim (request.form (diskussion)) = dann
'Bestimmen Sie, ob der Benutzer nichts eingegeben hat
Talk = Session (Nick) & Silence ist Gold.
Anders
talk = trim (request.form (talk))
'Entfernen Sie den Speicherplatz nach dem Zeichen
Ende wenn
Application.lock
Application (show) = <table border = '0' cellpadding = '0' cellpacing = '0' width = '85%'> <tr> <td width =' 100%'bgcolor ='#c0c0c0 '> < /td > < /tr> <tr> <td width = '100%'> <font color = '#0000ff'> & session (nick) & time & from & request.servervariables (remote_addr) & sagte: < /font> & talk & < /td> < /tr> <tr> <td width = '100%' bgcolor = '#c0c0c0'> < /td> < /tr> < /table> <br> & application (show)
Application.unlock
Antwort.Write -Anwendung (Show)
Ende wenn
Ende wenn
%>
Führen Sie eine Schritt-für-Schritt-Analyse dieses Chatroom-Programms durch.
Da alle Kunden im Chatraum Informationen teilen können, ist es unvermeidlich, die Objektanwendung mit Variablen auf Anwendungsebene zu verwenden. -level. Wir können das Anforderungsobjekt verwenden, das wir gelernt haben, um die vom Kunden eingegebene Konversation zu erhalten und es im Variablengespräch zu speichern, und dann den Wert des Vortrags in die Variable-Show-Show auf Bewerbungsebene wie folgt zu speichern:
< % Application (Show) = Talk & Application (Show) %>
Das nächste, was Sie in Betracht ziehen sollten, ist, wie Sie mit verschiedenen Kunden umgehen können, wenn sie gleichzeitig mit Chat -Anwendungen arbeiten. Dieses Problem ist tatsächlich das gleiche wie zwei Benutzer in der Datenbank, die gleichzeitig denselben Datensatz schreiben. Ein weiterer Benutzer Verschwunden, bevor jemand, der in der Sitzung anwesend war, es sah. Um diese Art von Problem zu vermeiden, müssen wir die Sperreneigenschaft des Anwendungsobjekts verwenden, um den aktuellen Benutzer auf diese Weise zu bearbeiten oder hinzuzufügen. Die bis dahin expliziten Entsperrung können die Eigenschaften des Anwendungsobjekts nur vom Benutzer bearbeitet werden. Wie unten gezeigt:
Application.lock
Anwendung (Show) = Talk & Application (Show)
Application.unlock
Nachdem Sie den Kernteil des gesamten Programms verstanden haben, überlegen Sie, wie Sie Kundeninformationen speichern. wie:
Sitzung (Nick) = Request.form (Nick)
Schließlich müssen wir berücksichtigen, wie verschiedene Ereignisse nur in einer .asp -Datei umgehen können, wie z. Da der Client zum ersten Mal die .asp -Datei anfordert, verwendet es eine einfache HTTP -Methode, aber wenn der Client Daten auf der Seite auf der Seite Daten hinzufügt und das Formular an sich selbst einreicht, wird die .asp -Datei erneut angefordert, aber jedoch Dies werden die Daten durch den HTTP -Beitrag weitergegeben. Die Art und Weise, wie die Datei angefordert wird, kann auf zwei Arten bestimmt werden. Testen Sie zunächst, ob die Anfrage. Form.form -Sammlung Mitglieder enthält. Die zweite besteht darin, die Anforderung zu verwenden. Wenn das Formular über HTTP GET angefordert wird, gibt diese Variable GET und post, wenn das Formular eingereicht wird. Da die letztere Methode bei der Bestimmung der Anforderungsmethode einer Datei direkter ist, verwenden wir den folgenden Code, um ein Urteil zu fällen:
If request.servervariables (request_method) = namern
Da wir den ASP -Cache einrichten, wird das Programm die Antwort ausgeführt, um alle nachfolgenden Vorgänge zu beenden. Programm des Programms. Auf diese Weise können wir dieselbe .asp -Datei verwenden, um Kunden je nach Situation unterschiedliche Schnittstellen anzuzeigen.
Okay, ich habe Ihnen den Kernteil dieses ASP -Chat -Programms erzählt. Bitte lesen Sie das Programm für einige Details. Sprechen Sie nicht im Chat, Sie werden nicht sehen, was andere Kunden sagen. Jeder kennt den Chat im Internet. Verbessert nach und nach das Niveau dieses Chat -Programms, damit jeder auch die versteckte Version von Opera weitergeben kann. HINWEIS: Mit diesem Chat -Programm können Sie es mit einer Chat -Anwendung auf Ihrem PWS erstellen. Durch Ihren Computer ist es sehr cool.