Empfohlen: Wissen über erweiterte ASP -Fehlerobjekte für die ASP -Anwendung In VBScript gibt es eine OnerrorresumNext -Anweisung, die dazu führt, dass der Skript -Interpreter Laufzeitfehler ignoriert und die Ausführung des Skriptcodes fortsetzt. Anschließend kann das Skript den Wert der ERR.Number -Eigenschaft überprüfen, um festzustellen, ob ein Fehler aufgetreten ist. Wenn ein Fehler auftritt, wird ein Wert ungleich Null zurückgegeben
4.2.3 Beispiele für serverseitige Anweisungen mit Anweisungen
Dieser Abschnitt enthält einige Beispielseiten, mit denen es verwendet werden kann, um mit verschiedenen serverseitigen Anweisungen zu experimentieren. Öffnen Sie das Unterverzeichnis der Beispiel -Webseite Kapitel04, wobei die SSI -Direktiven und die ASP Server -Objekt -Homepage angezeigt werden (d. H. Standard.
Alle Beispiele dieses Buches können von unserer Website heruntergeladen werden. Die Leser finden alle Beispielseiten für den Rest dieses Kapitels in Kapitel 04, dem Beispiel -Unterverzeichnis.
1. Verwenden Sie SSI/CGI, um Anweisungen zu verarbeiten
Klicken Sie auf den Link, um die Seite Server-Side-Include und CGI-Anweisungen einzugeben, auf der die Seite ssi_cgi.stm geöffnet wird. Es ist zu beachten, dass die Dateierweiterung dieser Seite .stm ist, was darauf hinweist, dass dies keine ASP -Webseite ist. Diese Seite verwendet alle SSI-Anweisungen mit Ausnahme der zuvor erörterten #Exec-Anweisung (die später zu sehen ist) und zeigt die Verwendungsmethoden und Ergebnisse der Anweisungen an, wie in Abbildung 4-4 dargestellt:
Abbildung 4-4 SSI/CGI-Verarbeitungsanweisungen, die auf der Beispielwebseite angezeigt werden
(1) #include -Befehl
Der Beginn der Seite enthält Dateien mit SSI und zeigt den Inhalt einer anderen separaten Datei namens Intro.inc an. Hier ist der vollständige Inhalt der Datei:
Beachten Sie, dass wir HTML -Einträge <und> verwenden müssen, um Winkelklammern auf der Webseite anzuzeigen. Wenn sie nicht erledigt sind, können sie nicht als Teil des Annotationselements behandelt werden und führen dazu, dass die darin enthaltenen Anweisungen ausgeführt werden.
Auf der Hauptseite SSI_CGI.STM ist der Code, der diese Datei in die Seite einfügt, sehr einfach:
<!-#include file = intro.inc->
(2) #Config, #fsize und #flastmod -Anweisungen
Der nächste Teil der Seite zeigt die Größe der Datei default.asp im selben Verzeichnis wie die Seite und das letzte Mal, dass sie geändert wurde. Die #Config -Anweisung wurde hier dreimal verwendet:
· Einmal ist die SSI -Fehlermeldung.
· Einmal ist das Format von Datum und Uhrzeit.
· Sobald das Format der Dateigrößenberechnung festgelegt ist.
Verwenden Sie die #fsize- und #FiastMod -Anweisungen, um den Wert in die Webseite einzugeben:
<p> <div class = subhead> SSI -Anweisungen </div>
<!-#config errmsg = SSI-Verarbeitungsfehler->
(Legt die Fehlermeldung im Falle eines SSI -Fehlers fest) <br>
<!-#config errmsg = SSI-Verarbeitungsfehler-> <p>
Details zur Datei 'default.asp': <br>
<!-#config sizefmt = bytes->
(setzt FSIZE die Rückgabe der Größe in Bytes) <br>
<!-#config sizefmt = bytes->
<!-#fsize file = default.asp->
Gibt zurück: <B> <!-#fsize file = default.asp-> Bytes </b> <br>
<!-#config timefmt = %a, %b %d %y %H: %M: %s->
(setzt das Format für Datum/Zeitergebnisse) <br>
<!-#config timefmt = %a, %b %d %y %H: %M: %s->
<!-#flastmod File = default.asp->
Gibt zurück: <B> <!-#flastmod File = default.asp-> </b> <p>
(3) #Echo -Befehl
Der letzte Teil der Seite (nur ein Teil ist auf dem Bildschirm angezeigt) zeigt den Inhalt aller HTTP -Header, auf die mit der #Echo -Anweisung zugegriffen werden kann. Der Code in jeder Zeile ist der gleiche, außer dass sich der VAR -Eigenschaftswert ändert. Eine vollständige Liste aller zulässigen Werte für das VAR -Attribut finden Sie in Anhang G.
<Div class = subhead> http variablen </div>
<!-#echo var = auth_type->
Gibt zurück: <B> <!-#echo var = auth_type-> </b> <br>
<!-#echo var = auth_password->
Gibt zurück: <B> <!-#echo var = auth_password-> </b> <br>
… usw…
2. Verwenden Sie die #Exec -Anweisung
Die #Exec -Richtlinie ist schwieriger zu verwenden als andere SSI -Anweisungen, und aus diesem Grund wird sie unabhängig auf einer anderen Seite platziert. Auf die Startseite kann über das Hauptmenü ASP Server -Objekt und SSI -Direktiven zugegriffen werden.
Wählen Sie auf dieser Seite den Link zur #echo Server-Seite include-Richtlinie aus. Dieser Vorgang öffnet die SSI #exec -Richtlinienseite
Die Webseite SSI #exec Direktive
Dies ist eine ASP -Webseite ssi_exec.asp. Zwei Schaltflächen werden verwendet, um die Seite .stm zu öffnen, die die in der #Exec -Anweisung beschriebenen Aktionen ausführt.
(1) Führen Sie dieses Beispiel auf dem Server aus
Bevor das Beispiel für SSI #Exec -Anweisungen auf dem Server funktionieren kann, müssen einige Konfigurationen geändert werden. Zunächst müssen Sie in der Registrierung des Webservers einen SSISIANABLECMDDIRECTE -Eintrag (Typ DWORD) erstellen, wobei der Speicherort unter dem Schlüsselnamen unterteilt ist:
Hkey_local_maachine/system/currentControlSet/dienste/w3svc/Parameter
Stellen Sie den Wert dann auf 1 ein
Auf diese Weise kann die #Exec -Anweisung mit dem CMD -Attribut verwendet werden.
Zweitens muss der anonyme Zugriff für Verzeichnisse mit .stm -Dateien mithilfe der #Exec -Anweisung verboten sein. Der Kunde wird gezwungen, Einzelheiten zum Konto anzugeben, die ein Konto mit Berechtigungen auf Administratorebene sein sollten. Dies ist auch eine Voraussetzung dafür, dass der Nettobefehl normal funktioniert.
Aktivieren Sie die Anwendung "Internet Services Manager" und wählen Sie das Verzeichnis mit den .stm -Dateien mit der #Exec -Anweisung aus (im Beispiel werden diese Dateien im Exec -Verzeichnis start_cisvc.stm und stop_cisvc.stm). Öffnen Sie dann das Dialogfeld Eigenschaften für dieses Verzeichnis. Klicken Sie im Bereich der anonymen Zugriffs- und Authentifizierungssteuerungsbereich in der Registerkarte Verzeichnissicherheit auf die Schaltfläche "Anonymous Acauthentication Control" bearbeiten, um das Dialogfeld Authentifizierungsmethoden zu öffnen
Das Kontrollkästchen Anonymous Access wird in diesem Dialogfeld nicht ausgewählt. Wenn Sie keinen Internet Explorer verwenden, um auf die Seite zuzugreifen, öffnen Sie die Basis-Authentifizierungsoption, damit Nicht-IE-Browser auf die Seite zugreifen können, indem Sie Benutzername/Passwort senden. Klicken Sie beim Einrichten eine Warnung vor der Sicherheit. Klicken Sie auf Ja. Der Browser wird nun gezwungen sein, das entsprechende Konto- und Identitätszertifikat anzuzeigen, da auf die Seite nicht anonym zugegriffen werden kann.
Öffnen Sie das MMC-Plug-In-In-Dienste und beenden Sie den Indexierungsdienst, um die Ergebnisse des Startens und der Beendigung des Dienstes zu eröffnen.
(2) Start- und Beendigung des Indexierungsdienstes
Klicken Sie auf der Beispiel -Webseite auf die Schaltfläche, um den Microsoft -Indexierungsdienst zu starten.
Der kurze Name dieses Dienstes lautet CISVC, der allgemein als Microsoft Index Server bezeichnet wird, und das CI -Zeichen im Namen repräsentiert tatsächlich den Inhaltsindexer.
Geben Sie bei der Aufforderung den Benutzernamen und das Kennwort eines Kontos mit Administratorberechtigungen auf dem Webserver ein. Wenn die Seite (start_cisvc.stm) geöffnet ist, werden Sie eine bestimmte Verzögerung verspüren, da die #Exec -Anweisung eine Instanz des Fenstersbefehls Interpreter (CMD.Exe) lädt und dann den Befehl net start ausführt. Sobald der Dienst beginnt (oder wenn er bereits ausgeführt wird), wird der Rest der Seite angezeigt
Die Schnittstelle wird nach Eingabe des Benutzernamens und des Kennworts angezeigt
Der Code für diese Seite ist sehr einfach. Sie können sehen, dass die #Exec -Anweisung eine CMD -Eigenschaft hat, die auf cmd.exe /c net start cisvc eingestellt ist. Das Formular enthält die Schaltfläche Senden, um zur vorherigen Seite zurückzukehren:
<p> Verarbeitung der SSI -Richtlinie: </p>
<p> <b> <!-#exec cmd = cmd.exe/c net stop cisvc-> </b> </p>
<!-#exec cmd = cmd.exe /c net stop cisvc->
<Form action = ../ssi_exec.asp>
<Eingabe type = senden name = cmdok value =>
Kehren Sie zur vorherigen Seite zurück <p>
</Form>
Sie können andere .stm -Webseiten von der vorherigen Seite öffnen, z. B. stop_cisvc.stm, um den Dienst erneut zu beenden. Der einzige Unterschied besteht darin, dass der Befehl net stop anstelle des net startbefehls verwendet wird.
…
<!-#exec cmd = cmd.exe /c net stop cisvc->
…
Teilen: Beispiel erklärt, wie Sie den in ASP festgelegten Disconnect -Datensatz verwenden Wenn wir die integrierten ADO-Komponenten von ASP für die Datenbankprogrammierung verwenden, öffnen wir normalerweise eine Verbindung zu Beginn des Skripts und schließen sie am Ende des Skripts, aber für größere Skripte ist die Verbindung in den meisten Fällen viel länger geöffnet, als sie geöffnet werden muss. daher