AASP es una aplicación desarrollada por Microsoft para reemplazar los programas de secuencias de comandos CGI. Puede interactuar con bases de datos y otros programas. Aquí, el editor le dará algunas discusiones simples. El siguiente contenido habla principalmente sobre los principios esenciales del código de escritura ASP.
1. Declarar variables VBScript
En ASP, VBScript cuenta con un fuerte soporte y puede integrar a la perfección las funciones y métodos de VBScript, lo que proporciona una gran comodidad para extender las funciones existentes de ASP. Dado que el concepto de tipos variables se ha bordeado en ASP, muchos programadores están acostumbrados a no declarar las variables de VBScript durante la interacción entre ASP y VBScript, lo que aumenta la carga de combate del servidor y, por lo tanto, afecta la velocidad de solicitud de respuesta del servidor.
En vista de esto, podemos obligar al usuario a realizar declaraciones variables en VBScript al igual que obligamos al usuario a realizar declaraciones variables en VB. El método de implementación es colocar <% de opción explícita%> al comienzo de la línea del programa ASP.
2. Codifique la dirección de URL
Cuando usamos ASP para generar dinámicamente una dirección de URL con parámetros y saltar, es normal analizar en IE, pero al navegar por NetScrape, hay errores de la siguiente manera:
Error HTTP 400 400 Mala solicitud Debido a la sintaxis malformada, la solicitud no pudo ser entendida por el servidor. El cliente no debe repetir la solicitud sin modificaciones.
La solución es utilizar el método URLEncode del objeto ASP incorporado del Objeto de servidor a URL que codifica los parámetros de URL generados. El ejemplo es el siguiente:
<% Url = "xur.asp" var1 = "username =" & server.urlencode ("xur") var2 = "& empresar & var1 & var2 y var3 %>3. Borre el objeto
Después de usar el objeto, primero use el método Cerrar para liberar los recursos del sistema ocupados por el objeto; Luego establezca el valor del objeto en "nada" para liberar la memoria del objeto. En aquel entonces, bloqueé mi II creando más de 100 registros en una página sin objetos claros. El siguiente código utiliza el contenido de la base de datos para crear una lista desplegable. El ejemplo del código es el siguiente:
<% mydsn = "dsn = xur; uid = xur; pwd = xur" mysql = "Seleccione * de los autores donde au_id <100" establece conntemp = server.CreateObject ("ADODB.Connection") conntemp.open mydsn establecer rmitp = conntemp.ExEcute (mysql) if rstemp.eAf. Respuesta.WRITE MySQL Conntemp.Close Set Conntemp = Nothing Respuesta. ENTER ENT IF %> < %DO TUSTAR RSTEMP.4. Cree una consulta SQL usando cadenas
El uso de cadenas para establecer consultas no acelera la velocidad de análisis del servidor. Por el contrario, también aumentará el tiempo de análisis del servidor. Pero todavía se recomienda usar cadenas en lugar de simples declaraciones de consulta para consultar. La ventaja de esto es que puede descubrir rápidamente el problema del programa, facilitando y generando eficientemente el programa. Los ejemplos son los siguientes:
< %mysql = "" select * "mysql = mysql &" de los editores "mysql = mySql &" Where state = 'ny' "respuesta.write mysql set rstemp = conntemp.execute (mysql) rstemp.close set rstemp = nada %>
5. Uso Caso para seleccionar la condición
Al hacer una selección condicional, intente usar las declaraciones de casos y evite usar las declaraciones IF. El uso de declaraciones de casos puede hacer que el programa se pueda fluir y ejecutar más rápido que las declaraciones de IF. Los ejemplos son los siguientes:
<%Para i = 1 a 1000 n = i respuesta.write addsuffix (n) & "<br>" Next%> <%function addSuffix (num) nUpert = right (num, 1) seleccione Case Numpart "1" if Instr (num, 11 ") luego num = num =" th "más num = num &" st "end if case" 2 "if instrer (num" 12 ") Finalizar si el caso "3" if Instr (num, "13") entonces num = num & "th" else num = num & "rd" end if caso "4" num = num & "th" caso más num = num & "th" end seleccione addsuffix = num end Función %>
6. Use constantes definidas en el archivo Adovbs.inc para abrir el conjunto de registros
Al abrir un conjunto de registros, puede definir el tipo de cursor y el tipo de bloqueo que abre el conjunto de registros.
Hay algunas constantes definidas en el archivo Adovbs.InC para definir estos tipos. El archivo Adovbs.inc se guarda en el directorio/inetpub/iissamples/iisamples. A continuación se presentan algunos tipos de cursor y tipos de bloqueo comúnmente utilizados.
Tipo de cursor:
Tipo de bloqueo:
< Adlockoptimstic Response.write rstemp.RecordCount & "Records in <br>" & sqltemp rstemp.close set rstemp = nada %>
7. Evite la definición de objetos en el archivo global.ASA
Dado que el contenido en el archivo global.asa puede ser referenciado por todos los archivos en el sitio, sin duda, definir objetos en el archivo global.asa puede guardar mucha duplicación.
Por ejemplo, en la función Application_onStart en Global.asa, se hace la siguiente definición:
< %Sub Application_onStart Set Aplicación ("theconn") = server.createObject ("ADODB.Connection") End sub %>;Esto le permite hacer referencias similares en cualquier código en el sitio:
< % mysql = "select * de los editores donde state = 'Xur' set rstemp = Application (" theconn "). Ejecutar (mysql) %>Del mismo modo, el objeto de conjunto de registros se puede crear en la función session_onStart
< %Subsession_onstart set session ("rstemp") = server.createObject ("ADODB.RecordSet") finalización Sub %>Luego, las siguientes citas se realizan en el sitio:
< % mysql = "Seleccionar * de los editores donde estatal = 'Xur' set session (" rstemp ") = conntemp.execute (mysql) %>Sin embargo, hacer esto también tiene un gran impacto negativo. Dado que las variables de aplicación y sesión solo liberan los recursos ocupados al cerrar el sitio web, los parámetros de la sesión desperdiciarán mucha memoria innecesaria, y en este momento la variable de aplicación se convierte en un cuello de botella en el rendimiento del servidor.
Solución:
Cree una página ASP para definir objetos e introduzca esta página ASP en la página donde se deben llamar a estos objetos. Suponiendo que se define el nombre de la página ASP del objeto definido.
<!-#include virtual = "/define.asp"->
Al introducir páginas, es mejor no incluir <%@lengua = "VBScript"%> Declaración en el archivo ASP que se introducirá. Porque en el archivo ASP, solo puede haber un lenguaje de análisis de script definido por @.
8. Protección de seguridad
ASP proporciona un buen mecanismo de protección de código, y todo el código ASP se ejecuta en el lado del servidor y solo devuelve el resultado de la ejecución del código del cliente. Aun así, en la versión anterior de IIS, puede ver el código fuente de ASP después del nombre del archivo :: $ Data, que ya se encuentra dentro del alcance de la seguridad del servidor web y no está dentro del alcance de este artículo. Las siguientes son dos precauciones de seguridad simples.
Aunque se recomienda introducir archivos con INC ASP como extensión, todavía se recomienda usar ASP como extensión para introducir archivos aquí. Cuando estos códigos se ejecutan en un servidor web con un mecanismo de seguridad deficiente, puede explorar el contenido del archivo importado simplemente ingresando la barra de direcciones (Inc es la extensión). Esto se debe a que en el servidor web, si no se define una biblioteca de conexión dinámica que resuelve un determinado tipo (como INC), el archivo se muestra en el código fuente.
No coloque el archivo de la base de datos dentro de la estructura del sitio web, de modo que cuando una persona maliciosa obtenga la ruta de la base de datos, pueda obtener fácilmente la base de datos y luego cambiar el contenido de la base de datos arbitrariamente. Un mejor enfoque es establecer un DSN (nombre de fuente de fecha) para la base de datos y acceder al DSN directamente al acceder a la base de datos.
A través de este artículo, ¿entiende la codificación de ASP? Espero que pueda ayudarte.