Recomendado: Use procedimientos almacenados para implementar la paginación de datos ASP 1. Cree la tabla tiku_koushiif existe (seleccione * de dbo.sysObjects donde id = objeto_id (n '[dbo]. [Tiku_koushi]') y objectProperty (id, n'isusertable ') = 1) Tabla de caída [dbo]. [Tiku_k
ASP (Página de servidor Active) es una plataforma dinámica de desarrollo de la página web basada en la plataforma PWS (servidor web personal) e IIS (servidor de información de Internet) lanzada por Microsoft, que ahora se está volviendo más madura y perfecta. Aquí solo tenemos algunas discusiones simples sobre la optimización del código.
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 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, el servidor no pudo entender la solicitud.
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 = & Company = & Server.urlencode (XurStudio)
var3 = & phone = & server.urlencode (021-53854336-186)
Respuesta. Redirect URL &? & 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 el objeto para ocupar la memoria. 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 = select * de autores donde au_id <100
Establecer conntemp = server.createObject (ADODB.Connection)
conntemp.open mydsn
Establecer rstemp = conntemp.execute (mysql)
Si rstemp.eof entonces
Respuesta. Write Database está vacía
Respuesta. Escribe mysql
conntemp.close
establecer conntemp = nada
respuesta.
FIN IF %>
< %hacer hasta rstemp.eof %>
<%
rstemp.movenext
bucle
rstemp.close
Establecer rstemp = nada
conntemp.close
establecer conntemp = nada
%>
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 y de los editores
mysql = mysql & where state = 'ny'
Respuesta. Escribe mysql
Establecer rstemp = conntemp.execute (mysql)
rstemp.close
Establecer 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
Response.Write Addsuffix (N) y <br>
PRÓXIMO
%>
<%
Función addsuffix (num)
nUpert = Right (num, 1)
Seleccionar Case NUMPART
Caso 1
Si Instr (num, 11) entonces
num = num & th
DEMÁS
num = num y st
Final si
Caso 2
Si Instr (num, 12) entonces
num = num & th
DEMÁS
num = num & nd
Final si
Caso 3
Si instrer (num, 13) entonces
num = num & th
DEMÁS
num = num & rd
Final si
Caso 4
num = num & th
Caso
num = num & th
Final seleccionar
AddSuffix = num
Función final
%>
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. Los siguientes son varios tipos de cursor y tipos de bloqueo comúnmente utilizados.
Tipo de cursor:
El cursor Adoptenfownly solo puede avanzar; El cursor AdoptenKeyset puede avanzar o hacia atrás. Si un usuario agrega un registro, el nuevo registro no aparecerá en el conjunto de registros; El cursor adoptinámico es dinámico y aleatorio; El conjunto de registros Adopenstatic no refleja las modificaciones de registros causadas por otros usuarios.
Tipo de bloqueo:
AdlockReadoney no puede modificar registros en el conjunto de registros; AdlockPessimistic lo bloquea al editar un disco; AdlockOptimstic bloquea el método de actualización del conjunto de registros solo cuando los registros adlockBatchopeImstic solo se pueden actualizar en lotes.
<!-#incluye virtual =/Adovbs.inc->
<%
ConnectMe = dsn = xur; uid = xur; pwd = xur
sqltemp = select * de los editores donde nombre = 'Xur'
Establecer rstemp = server.createObject (ADODB.RecordSet)
rstemp.open sqltemp, ConnectMe, adoanstatic, adlockoptimstic
Response.write rstemp.RecordCount & Records en <br> y SQLTemp
rstemp.close
Establecer 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
Establecer aplicación (theconn) = server.createObject (ADODB.Connection)
Final sub %>;
Esto le permite hacer referencias similares en cualquier código en el sitio:
<%
mysql = select * de los editores donde state = 'Xur'
Establecer rstemp = Application (theconn) .execute (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)
Final sub %>
Luego, las siguientes citas se realizan en el sitio:
<%
mysql = select * de los editores donde state = '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.
<!-#incluye virtual =/define.asp->
Al introducir páginas, es mejor no incluir <%@lengua = VBScript%> la 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.
Compartir: Consejos ASP: Mejorar la eficiencia de la recolección de solicitudes Mejorar la eficiencia del uso de la colección de solicitudes para acceder a una colección ASP para extraer un valor es un proceso que requiere mucho tiempo y la computación que consume recursos. Debido a que esta operación contiene una serie de búsquedas para conjuntos relacionados, esto es mucho más lento que acceder a una variable local. Entonces, si planeas estar en la página