Empfohlen: Verwenden Sie gespeicherte Verfahren zur Implementierung von Data Paging ASP 1. Erstellen Sie die Tabelle tiku_koushiif existiert (auswählen * aus dbo.sysObjects wobei id = Object_id (n '[dbo].
ASP (Active Server Page) ist eine dynamische Webseitenentwicklungstechnologie, die auf der PWS (Personal Web Server) und IIS (Internet Information Server) basiert, die von Microsoft gestartet wurde und jetzt ausgereifter und perfekter wird. Hier haben wir nur einige einfache Diskussionen zur Codeoptimierung.
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 zwingen, variable Erklärungen in VBScript wie 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 Anfrage
Aufgrund der fehlerhaften Syntax konnte die Anfrage 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 = & mone = & server.urlencode (021-53854336-186)
Antwort.Redirect URL &? & 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 das Objekt zu befreien, um den Speicher zu besetzen. 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
Setzen Sie connTemp = server.createObject (adodb.Connection)
conntemp.open mydsn
Setzen Sie rstemp = connTemp.execute (MySQL)
Wenn rstemp.eof dann
Antwort.Write -Datenbank ist leer
Antwort.Write MySQL
connTemp.close
Setzen Sie connTemp = nichts
Antwort.end
Ende wenn %>
< %tun bis zum RStemp.eof %>
<%
rstemp.Movenext
Schleife
rstemp.close
rstemp = nichts setzen
connTemp.close
Setzen Sie connTemp = nichts
%>
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 Verlagen
MySQL = MySQL & WHERE STATE = 'NY'
Antwort.Write MySQL
Setzen Sie rstemp = connTemp.execute (MySQL)
rstemp.close
rstemp = nichts setzen
%>
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
Response.write addsuffix (n) & <br>
NÄCHSTE
%>
<%
Funktion addsuffix (num)
numpart = rechts (num, 1)
Wählen Sie Fall Numpart
Fall 1
Wenn Instrument (num, 11) dann
num = num & th
ANDERS
num = num & st
Ende wenn
Fall 2
Wenn Instrument (num, 12) dann
num = num & th
ANDERS
num = num & nd
Ende wenn
Fall 3
Wenn Instrument (num, 13) dann
num = num & th
ANDERS
num = num & rd
Ende wenn
Fall 4
num = num & th
Fall sonst
num = num & th
Ende auswählen
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 sind mehrere häufig verwendete Cursortypen und Sperrtypen aufgeführt.
Cursortyp:
Der adoptierfowardonly Cursor kann sich nur vorwärts bewegen; Der Adoptionkeyset Cursor kann sich vorwärts oder rückwärts bewegen. Wenn ein Benutzer einen Datensatz hinzufügt, wird der neue Datensatz im Datensatzsatz nicht angezeigt. Der adoptivynamische Cursor ist dynamisch und zufällig; Der AdoptionStatic -Datensatz spiegelt keine von anderen Benutzern verursachten Datensatzänderungen wider.
Sperrtyp:
AdlockeReadoney kann die Datensätze im Datensatzsatz nicht ändern. Adlockpessimistische sperrt es bei der Bearbeitung einer Aufzeichnung; Adlockoptimstic sperrt die Datensatz -Set -Aktualisierungsmethode nur, wenn AdlockBatchopeImstic -Datensätze nur in Stapeln aktualisiert werden können.
<!-#enthalten virtual =/adovbs.inc->
<%
connectMe = dsn = xur; uid = xur; pwd = xur
SQLTEMP = SELECT * von Publishers wobei Name = 'xur' '
Setzen Sie rstemp = server.createObject (adodb.recordset)
rstemp.open sqltemp, connectme, adopta
response.write rstemp.recordcount & records in <br> & sqltemp
rstemp.close
rstemp = nichts setzen
%>
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
Setzen Sie die Anwendung (theconn) = server.createObject (adodb.Connection)
Ende sub %>;
Auf diese Weise können Sie ähnliche Referenzen in jedem Code auf der Website erstellen:
<%
MySQL = SELECT * von Publishern wobei State = 'xur' '
Setzen Sie RStemp = Anwendung (theconn) .execute (MySQL)
%>
In ähnlicher Weise kann das Datensatzsatzobjekt in der Funktion Session_onstart erstellt werden
<%Sub session_onstart
SET Session (RSTEMP) = Server.CreateObject (adodb.RecordSet)
Ende 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, <%@Language = 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.
Aktien: ASP -Tipps: Verbesserung der Effizienz der Anforderungserhebung Verbesserung der Effizienz der Verwendung der Anforderungssammlung, um auf eine ASP-Sammlung zuzugreifen, um einen Wert zu extrahieren, ist ein zeitaufwändiger und berechnungsressourcenkonsumierender Prozess. Da dieser Vorgang eine Reihe von Suchanfragen nach verwandten Sätzen enthält, ist dies viel langsamer als der Zugriff auf eine lokale Variable. Wenn Sie also vorhaben, auf der Seite zu sein