AASP ist eine von Microsoft entwickelte Anwendung, um CGI -Skriptprogramme zu ersetzen. Es kann mit Datenbanken und anderen Programmen interagieren. Hier wird der Herausgeber ihm einige einfache Diskussionen geben. Der folgende Inhalt spricht hauptsächlich über die wesentlichen Prinzipien des ASP -Schreibcode.
1. Deklarieren Sie VBScript -Variablen
In ASP wird VBScript mit starker Unterstützung versehen und kann VBScript -Funktionen und -Methoden nahtlos integrieren, was eine große Bequemlichkeit für die Erweiterung der vorhandenen Funktionen von ASP bietet. Da das Konzept der Variablentypen in ASP verschwommen ist, sind viele Programmierer es gewohnt, während der Interaktion zwischen ASP und VBScript keine VBScript -Variablen zu deklarieren, was die Analysebelastung des Servers erhöht und somit die Antwortanforderung des Servers beeinflusst.
In Anbetracht dessen können wir den Benutzer dazu zwingen, variable Erklärungen in VBScript durchzuführen, genau wie wir den Benutzer dazu zwingen, variable Erklärungen in VB durchzuführen. Die Implementierungsmethode besteht darin, zu Beginn der ASP -Programmlinie eine explizite Option von <% zu platzieren.
2. codieren die URL -Adresse
Wenn wir ASP verwenden, um eine URL -Adresse mit Parametern und Sprung dynamisch zu erzeugen, ist es normal, IE zu analysieren, aber wenn NetScape durchsucht, gibt es Fehler wie folgt:
HTTP -Fehler 400 400 Schlechte Anforderung Aufgrund der missgebildeten Syntax konnte die Anforderung vom Server nicht verstanden werden. Der Client sollte die Anfrage nicht ohne Änderungen wiederholen.
Die Lösung besteht darin, die Urlencode-Methode des ASP-integrierten Serverobjekts zur URL zu verwenden, um die generierten URL-Parameter zu codieren. Das Beispiel lautet wie folgt:
<% Url = "xur.asp" var1 = "userername =" & server.urlencode ("xur") var2 = "& company =" & server.urlencode ("xurstudio") var3 = "& mellen =" & server.urlencode ("021-53854366666") Antwort. & var1 & var2 & var3 %>3.. Löschen Sie das Objekt
Verwenden Sie nach der Verwendung des Objekts zunächst die enge Methode, um die vom Objekt besetzten Systemressourcen freizusetzen. Setzen Sie dann den Objektwert auf "nichts", um den Speicher des Objekts zu befreien. Damals habe ich meine IIS abgestürzt, indem ich mehr als 100 Datensätze auf einer Seite ohne klare Objekte erstellt habe. Der folgende Code verwendet den Datenbankinhalt, um eine Dropdown-Liste zu erstellen. Das Codebeispiel lautet wie folgt:
<% mydsn = "dsn = xur; uid = xur; pwd = xur" mysql = "select * von Autoren, wobei Au_id <100" connTemp = server.createObject ("adodb.Connection") connTemp.open mydsn set RSTEMP = datab.execUT (mySQL) if RSTEMP = datab.Execute (mySQL) (mySQL) (mySQL) (mySQL) (mySQL), wenn RSTEMP = datab.Exec. leere "response.write mysql connTemp.close set connTemp = nichts response.end Ende, wenn %> < %bis zum RSTEMP.EOF %> < %rstemp.Movenext Loop rstemp.CLOSE SET RSTEMP = NICHTS CONNTEMP.CLOSE SET ConnTemp = Nothing %>4. Erstellen Sie die SQL -Abfrage mit Zeichenfolgen
Die Verwendung von Zeichenfolgen zum Erstellen von Abfragen beschleunigt die Parsengeschwindigkeit des Servers nicht. Im Gegenteil, es wird auch die Parsenzeit des Servers erhöhen. Es wird jedoch immer noch empfohlen, Zeichenfolgen anstelle von einfachen Abfrageberichten zur Abfrage zu verwenden. Der Vorteil davon ist, dass es schnell das Problem des Programms entdecken kann, wodurch das Programm erleichtert und effizient generiert wird. Beispiele sind wie folgt:
< %mysql = "" "select *" mysql = mysql & "von Publishers" mySQL = mysql & "wobei State = 'ny'" Antwort.Write mysql set rstemp = conntemp.execute (mysql) rstemp.close set rstemp = nichts %> igle %>
5. Anwendungsfall, um die Bedingung auszuwählen
Versuchen Sie bei einer bedingten Auswahl, Fallanweisungen zu verwenden und zu vermeiden, wenn Anweisungen verwendet werden. Durch die Verwendung von Fallanweisungen kann das Programm fließbar werden und schneller ausgeführt werden als bei Anweisungen. Beispiele sind wie folgt:
<%Für i = 1 bis 1000 n = i Antwort. Ende wenn Fall "3" if instr (num, "13") dann num = num & "th" else num = num & "rd" Ende if case "4" num = num & "th" case else num = num & "th" End Select addsuffix = num Endfunktion %>
6. Verwenden Sie Konstanten, die in der adovbs.inc -Datei definiert sind, um den Datensatzsatz zu öffnen
Beim Öffnen eines Datensatzes können Sie den Cursor -Typ und den Sperrtyp definieren, den der Datensatzsatz öffnet.
Es gibt einige Konstanten in der adovbs.inc -Datei, um diese Typen zu definieren. Die adovbs.inc -Datei wird im Verzeichnis/inetpub/iissamples/iiSAmples gespeichert. Im Folgenden finden Sie einige häufig verwendete Cursortypen und Sperrtypen.
Cursortyp:
Sperrtyp:
<!-#enthalten virtual = "/adovbs.inc"-> <% ConnectMe = "dsn = xur; uid = xur; pwd = xur" adlockoptimstic response.write rstemp.recordCount & "Datensätze in <br>" & sqltemp rstemp.close set rstemp = nichts %>
7. Vermeiden Sie die Objektdefinition in der global.asa -Datei
Da die Inhalte in der global.asa -Datei durch alle Dateien in der Website verwiesen werden können, kann das Definieren von Objekten in der global.asa -Datei eine Menge Vervielfältigung speichern.
Beispielsweise wird in der Funktion application_onstart in global.asa die folgende Definition vorgenommen:
< %Sub application_onstart set application ("theconn") = server.createObject ("adodb.Connection") End Sub %>;Auf diese Weise können Sie ähnliche Referenzen in jedem Code auf der Website erstellen:
< % MySQL = "Select * von Publishers Wobei State = 'xur' rstemp = application (" theconn "). Ausführen (mySQL) %>In ähnlicher Weise kann das Datensatzsatzobjekt in der Funktion Session_onstart erstellt werden
< %Sub session_onstart set Session ("rstemp") = server.createObject ("adodb.recordset") End Sub %>Anschließend werden die folgenden Zitate auf der Website angegeben:
< % MySQL = "SELECT * von Publishern wobei State = 'xur' Set Session (" rstemp ") = connTemp.execute (MySQL) %>Dies hat jedoch auch einen großen negativen Einfluss. Da sowohl Anwendungs- als auch Sitzungsvariablen die besetzten Ressourcen beim Schließen der Website nur veröffentlichen, verschwenden die Sitzungsparameter viel unnötiger Speicher, und zu diesem Zeitpunkt wird die Anwendungsvariable zu einem Engpass bei der Serverleistung.
Lösung:
Erstellen Sie eine ASP -Seite, um Objekte zu definieren, und stellen Sie diese ASP -Seite auf der Seite ein, auf der diese Objekte aufgerufen werden müssen. Unter der Annahme, dass der ASP -Seitenname des definierten Objekts definiert ist.
<!-#enthalten virtual = "/define.asp"->
Bei der Einführung von Seiten ist es am besten, <%@Sprache = "vbscript"%> Anweisung in die zu eingeführte ASP -Datei aufzunehmen. Denn in der ASP -Datei kann es nur ein von @definierter Skript analysieren.
8. Sicherheitsschutz
ASP bietet einen guten Code -Schutzmechanismus, und der gesamte ASP -Code wird auf der Serverseite ausgeführt und gibt nur das Ergebnis der Client -Code -Ausführung zurück. Trotzdem können Sie in der alten Version von IIS den Quellcode von ASP nach dem Dateinamen anzeigen :: $ data, der bereits in den Bereich der Webserversicherheit fällt und nicht im Rahmen dieses Artikels liegt. Das Folgende sind zwei einfache Sicherheitsvorkehrungen.
Obwohl empfohlen wird, Dateien mit INC ASP als Erweiterung einzuführen, wird weiterhin empfohlen, ASP als Erweiterung zu verwenden, um Dateien hier einzuführen. Wenn diese Codes auf einem Webserver mit schlechtem Sicherheitsmechanismus ausgeführt werden, können Sie den Inhalt der importierten Datei durch einfach in die Adressleiste durchsuchen (INC ist die Erweiterung). Dies liegt daran, dass auf dem Webserver eine dynamische Verbindungsbibliothek, die einen bestimmten Typ (z. B. INC) auflöst, nicht definiert ist, die Datei im Quellcode angezeigt wird.
Fügen Sie die Datenbankdatei nicht in die Website -Struktur ein, damit eine böswillige Person den Datenbankpfad erhält, kann sie die Datenbank problemlos erhalten und dann den Datenbankinhalt willkürlich ändern. Ein besserer Ansatz besteht darin, einen DSN (Datumsquellenname) für die Datenbank einzurichten und direkt beim Zugriff auf die Datenbank auf den DSN zugreifen zu können.
Haben Sie durch diesen Artikel ein Verständnis für die ASP -Codierung? Hoffe es kann dir helfen.