Recomendado: use ASP para construir un motor de búsqueda privado Muchos entusiastas de Internet respaldan sus cerebros para hacer que las funciones de su sitio web sean más integrales al crear su propia página de inicio personal. Aquí, el autor presenta un método para usar ASP para construir su propio motor de búsqueda. La idea básica es usar formularios para almacenar palabras clave de búsqueda enviadas por los usuarios en variables.
7.5.1 Tecnología general de depuraciónEn el Capítulo 2, ha visto cómo usar el método Response.Write y la colección de solicitudes para mostrar el contenido de la colección. Si el código quiere usar el valor de la solicitud, lo primero que debe hacer es asegurarse de que exista el valor requerido. El problema fácil es que el nombre de control HTML en la página web <Form> está mal escrita o cambia, o el cliente incorrecto aparece al crear una cadena de consulta adjunta a la URL.
1. Muestra varios contenidos de colección
Cuando el programa intenta ejecutarse con el valor proporcionado por el usuario, es posible que no obtenga el resultado deseado, o no se obtiene nada. Recuerde, el uso de request.form (thisControl) no causa un error cuando hace referencia a un valor que no existe en una colección de objetos de solicitud (por ejemplo, si no tiene un control llamado thisControl en el formulario. El resultado solo puede obtener una cadena vacía. Esto también puede suceder si espera encontrar un valor almacenado en el objeto de sesión del usuario o la variable de objeto de aplicación global.
Si crea una página para mostrar el contenido de todas las colecciones de objetos de solicitud, el contenido de los objetos de la sesión y la aplicación y las colecciones StaticContens, puede acceder a ellas usando server.execute. El trabajo que debe hacerse es agregar la siguiente línea de programa a la página web ASP para mostrar todo el contenido de la colección. Por supuesto, de acuerdo con la ubicación donde el archivo se almacena en el servidor, la ruta correspondiente debe establecerse para el archivo.
< % Server.execute /path_to_file/debug_request.asp %>
Esta es una excelente manera de garantizar que existan cualquier valor que deseemos encontrar en la solicitud, la sesión y las colecciones de aplicaciones existen y contengan el valor apropiado. Se proporciona un archivo correspondiente en el archivo de muestra Capítulo07 Subdirectorio de este libro, llamado debug_request.asp. Básicamente es una combinación de la página web show_request.asp para el Capítulo 2 y las páginas web show_application.asp y show_session.asp para el Capítulo 3, pero elimina algún código de programa HTML. Simplemente itera sobre la colección y pone los valores en la página actual.
Esta página se puede ver ejecutando la instancia de página de error personalizado. Este ejemplo fue visto anteriormente en este capítulo. Al abrirlo, seleccione la casilla de verificación de información de depuración de visualización o ábrala directamente en la página web del menú principal en el directorio del Capítulo07.
2. Muestra valores intermedios
La segunda forma de ver la situación en ejecución en una página web es mostrar el valor de la variable cuando se ejecuta la página web. Esta tecnología tradicional no se puede descartar cuando sabe aproximadamente de dónde proviene el error y qué variable está funcionando. Sin embargo, debido a los cambios en el método de almacenamiento web IIS 5.0, es difícil usar esta tecnología.
En versiones anteriores de ASP e IIS, el almacenamiento en búfer de página se apagó de forma predeterminada, y casi nadie pensó en encender el búfer (abierto con respuesta.buffer = true), a menos que quisieran usar respuesta. Redirección para completar la redirección de la página web (ver Capítulo 2). Al responder a múltiples solicitudes, el almacenamiento en búfer reduce el número de conmutaciones entre páginas web, mejorando así la eficiencia de IIS.
Sin embargo, cuando se produce un error de tiempo de ejecución que detiene la ejecución, IIS llama automáticamente el método Respuesta. La solución es agregar temporalmente la siguiente línea de programa:
< % Respuesta.buffer = false %>
Esta línea de programa se coloca en la parte superior de la página después de la directiva <@@language ...>, y cualquier salida de depuración generada por la instrucción Response.Write aparecerá en la parte superior de la página de error personalizado. Recuerde eliminarlo después de que termine de depurar la página web.
Este método a veces es útil para obligar al programa a ejecutar a través de un punto de error y luego mostrar valores variables sospechosos. Simplemente agregue la instrucción ON ERROR ERRUME Next cerca del comienzo de la página web, y luego puede acceder al objeto ERR (en VBScript) y mostrar el número de error, la fuente de error y la descripción.
3. Verifique los valores de los atributos del componente
Si el componente utilizado tiene propiedades establecidas en el código de script ASP, después de completar la configuración, y antes y después de que se llame el método del componente, el error se puede rastrear mostrando todas las propiedades (o simplemente propiedades sospechosas). Cuando se ejecuta un método, se puede encontrar que el valor de la propiedad ha cambiado accidentalmente por el componente, quizás intencional o debido a un defecto en el componente. No haga suposiciones sin verificar el código real usted mismo.
7.5.2 Microsoft Script Debugger
Al desarrollar aplicaciones más complejas que manejan tareas reales, a menudo se necesita una herramienta más poderosa para la depuración. Microsoft Script Debugger es una herramienta de depuración que permite que los scripts de depuración se ejecutan en clientes y servidores. Se puede utilizar para cualquier lenguaje de secuencias de comandos habilitado para ActiveX (incluidos VBScript y JScript), y también se puede usar para depurar llamadas a applets Java, frijoles Java y componentes ActiveX.
Antes de estudiar esta herramienta, explique brevemente algunos problemas. Como se mencionó anteriormente, una aplicación ASP consta de dos tipos de scripts, uno es un script de cliente y el otro es un script de servidor. Los scripts del cliente generalmente se componen de declaraciones de script VBScript o JScript que aparecen en la página HTML cuando llegan al cliente y se ejecutan allí, posiblemente cuando el documento se carga o en respuesta a algunos eventos. Los scripts del lado del servidor generalmente también se componen de declaraciones VBScript o JScript. Cuando el navegador solicita una página web, el script del lado del servidor es ejecutado por IIS. En la siguiente discusión, se discutirá el método de depuración del script del lado del servidor. Sin embargo, muchas de las técnicas discutidas también se pueden utilizar para la depuración de script del cliente.
1. Depuración del lado del servidor
Para depurar los scripts del lado del servidor, ejecute el depurador de script en una computadora que ejecuta IIS, sin embargo, la depuración debe habilitarse antes de usar el depurador de script. Para optimizar el rendimiento, las aplicaciones basadas en ASP desactivan la depuración de forma predeterminada.
Tenga cuidado de no encender la depuración en aplicaciones productivas (es decir, sitios web públicos que están activos y utilizados por otros). Esto ralentizará toda la aplicación y los errores pueden hacer que la página web deje de funcionar de manera indeterminada.
La depuración solo se puede configurar para aplicaciones virtuales y todo el sitio web. Para habilitar la depuración, abra el cuadro de diálogo Propiedades de la aplicación o sitio, en la pestaña Directorio de inicio, haga clic en el botón de configuración, en la pestaña de depuración de la aplicación del cuadro de diálogo Configuración de la aplicación, seleccione Habilitar el depurador de script del lado del servidor ASP y prepárese para depurar nuestra aplicación a continuación.
Nota El cuadro de diálogo Configuración de la aplicación contiene una casilla de verificación que habilita la depuración del script del cliente. Esto no se implementa en IIS 5.0 y solo está marcado como reservado para uso futuro en la documentación. Si la página de error personalizada de 500-100.asp no está disponible, la sección Mensajes de error de script contiene el texto.
(1) Processing Server scripts
A diferencia de los scripts del cliente, los scripts de aplicaciones basados en ASP no están basados en eventos. Cuando el cliente solicita una página web desde el servidor, el servidor lee el contenido de la página web y procesa todos los scripts del servidor (es decir, todo en el <%...%> y <script runat = servidor> </script> segmentos), así como contenido de segmento de script en línea en texto HTML, como:
La válvula del resultado es: < % = strResult %>
Diagrama de cuadro de visualización de flujo de proceso
Cuando IIS carga una página web, se procesarán todos los scripts en la página ASP. Antes de que se envíe cualquier salida al cliente, el motor ASP y Script puede captar la sintaxis y los errores de tiempo de ejecución (a menos que apague el buffering o llame al método Response.flush).
(2) Ayuda proporcionada por el depurador del guión
Al habilitar la depuración del script, si se produce un error, puede ver un cuadro de diálogo que describe el error del código ASP en la pantalla del servidor. Haga clic en Aceptar y luego llame a una copia de solo lectura de la página web ASP actual. Se abre el depurador del guión. La línea que aparece en el error está indicada por la flecha.
Aquí, el error ocurre debido al error del nombre del método de objeto contador de página, que debe ser Pagehit en lugar de Dopagehit. Al mismo tiempo, el depurador del script encontró un error y terminó la ejecución de la página. Los botones en la barra de herramientas se utilizan para continuar el programa, en ejecución del programa de un solo paso o rescindir la ejecución de la página.
El botón en el extremo derecho de la barra de herramientas abre la ventana inmediata en el depurador del script, que puede usarse para interactuar con la página, y es muy probable que encuentre un lugar donde ocurra el error. Por ejemplo, se pueden consultar o establecer valores variables o propiedades de componentes, se pueden ejecutar funciones internas y subrutinas, funciones personalizadas y subrutinas, y métodos de objetos que se han creado, etc. En la figura, se llama al método PageHit del componente del contador de página, y la propiedad HITS se consulta para obtener el valor en ese punto en el script de ejecución.
Para comprender por qué los depuradores de script no deben usarse en sitios web públicos, puede abrir una página que contiene errores del lado del servidor desde el cliente. En este caso, el diálogo del mensaje de error aparece en el servidor y el depurador del script también se abre en el servidor. En el cliente, la página no se carga hasta que el depurador de script que se ejecuta en el servidor está cerrado.
(3) Comience y use el depurador
Después de habilitar la depuración de script, el depurador del script ocurrirá automáticamente cuando ocurra un error en la página web de la aplicación virtual.
Compartir: Ejemplo de ASP: Producción de juegos de cooperación de palabras Este es un juego sobre codificación de palabras, escrito en ASP, VBScript y JavaScript. No se encontraron problemas importantes bajo prueba bajo Win98 OEM2, PWS e IE5. Método de uso: Método 1: Por ejemplo, el directorio de su servicio 3W es C: Inetpubwwwroot.