Recomendado: método ASP.NET para obtener la dirección IP y MAC El método para obtener la dirección IP del servidor es simple y práctico para usar el método DNS, de la siguiente manera: privado void buttonip_click (remitente de objeto, system.eventargs e) {system m.net.ipaddress [] direccionar direction = dns.gethostByName (dns
7.4.4 Uso de la página de error IIS
Lo que está relacionado con el proceso de manejo de errores ASP es proporcionar a IIS páginas de errores personalizables. De hecho, esta característica también se encuentra en IIS 4.0. Pero el nuevo objeto ASP incorporado Asperror es más fácil de usar y proporciona características más potentes.
En el Capítulo 4, cuando miramos los métodos Server.ExCute y Server.Transfer, ya hemos hablado sobre cómo crear una página de error personalizada. También discutimos y usamos el objeto Asperror, pero este método está sujeto a ciertas limitaciones. En esta sección, introduciremos cómo combinar una página de error personalizada con un objeto Asperror para crear una mejor manera de manejar los errores ASP.
Podemos usar VBScript para verificar el contenido del objeto Asperror, creando así una página de error personalizado. Cree una cadena que contenga información completa sobre el contenido de error y escríbelo en un archivo de registro en el disco del servidor. Sin embargo, no es posible diseñar una página web para que el visitante vea que la página web no está disponible. Debería permitir a los visitantes elegir si se debe recargar la página web anterior o regresar a la página de inicio, para que no sepan que se ha producido un error.
Aunque usamos VBScript para crear esta página web, algunas de las características que utiliza también son aplicables a JScript, y también es más fácil convertir los dos lenguajes de secuencias de comandos.
Los archivos de muestra para este capítulo y otros capítulos de este libro se pueden descargar desde el sitio http://www.wrox.com.
1. Configuración de páginas de error personalizadas
Antes de poder usar una página de error personalizada, debe realizar la configuración correspondiente en el Administrador de Servicios de Internet (consulte el Capítulo 4 para configurar los métodos). Cargue el archivo de muestra en el directorio wwwwroot de la computadora, abra el cuadro de diálogo Propiedades del subdirectorio del Capítulo07, en la pestaña Errores personalizados, desplácese la lista y seleccione la entrada HTTP Error 500: 100, haga clic en el botón Editar Propiedades y escriba la URL de la página de error personalizada Custom_error.asp.
Ahora, cuando se produce un error ASP en la página del subdirectorio del Capítulo07, se abrirá la página de error personalizada.
2. Use la página de error personalizado
Abra el directorio del Capítulo07 en su navegador y seleccione el enlace para usar una página de error personalizado. Esta página muestra una serie de botones para generar varios tipos de errores. Haga clic en el botón Marcado Cargue una página con un error de sintaxis
Esto cargará una página simple llamada syntax_error.asp. Sin embargo, esta página no se puede ver porque esta página contiene un error de sintaxis. ASP termina la compilación/ejecución de esta página y transfiere la ejecución a la página de error personalizado. Esta página muestra los detalles del error y dos botones, que se utilizan para volver a la página anterior (menú principal) o para volver a la página de inicio predeterminada del sitio web.
Esta página también agrega el informe de error al archivo de registro llamado custom_error.log en la carpeta de disco del servidor c:/temp. Se puede abrir y ver en el editor de archivos. El archivo de registro ha registrado varios errores.
Si recibe un mensaje en la página, lo que indica que el archivo de registro no se puede escribir, puede deberse a que la cuenta IUSR_MACHINENAME (iUsr_Computer Name) no tiene permiso para acceder al directorio C:/TEMP. Al probar esta página, la cuenta IUSR_MACHINENAME debe recibir todo el control sobre este directorio, o el código de programa de la página Custom_error.asp debe cambiarse para señalar una carpeta donde IUSR tiene control total.
La única razón por la cual el mensaje de error aparece en la página es porque en la página causa_error.asp seleccionamos la casilla de verificación correspondiente. Si desactiva esta opción y hace clic en el botón nuevamente, no verá los detalles del error, pero el mensaje de error aún se registra en el archivo de registro de errores custom_error.log en el disco del servidor.
La casilla de verificación de información de depuración de visualización ofrece páginas de error personalizadas (en lugar de archivos de registro) más información y ayuda a depurar páginas que usan valores de recopilación de objetos ASP incorporados.
Este problema se discutirá más adelante en la siguiente sección de este capítulo, y también puede aprender sobre otros tipos de información de error proporcionada por otros botones en la página de error de causa. Tenga en cuenta que algunos botones pueden proporcionar más información que otros. En particular, solo el último botón proporciona el valor del código de error ASP (aquí es ASP 0177).
(1) Funciones de causa una página de error
Al igual que con las páginas de ejemplo discutidas anteriormente, las páginas que causan el error usan la misma técnica, utilizando <Form> para enviar el valor a la misma página. Luego haga clic en el botón Enviar en la ventana de visualización del programa ASP y luego ejecute la parte correspondiente del código. Verifique también si se seleccionarán las dos casillas de verificación en la página. Si es así, el programa primero establece una o dos variables de nivel de sesión para indicar esto.
<%
'Vea si estamos mostrando información de error y depuración
'Establecer variables de sesión para recuperar en la página de error personalizado
Si Len (request.form (chkshowerror)) entonces
Sesión (ducha) = sí
Demás
Sesión (ducha) =
Final si
Si Len (request.form (chkshowdebug)) entonces
Sesión (showDebug) = sí
Demás
Sesión (showDebug) =
Final si
...
%>
Debido al uso de server.transfer, cuando se produce un error, IIS se pasa todo el entorno ASP de la página web en ejecución en la página de error personalizado. Sin embargo, el valor de la variable de script no se pasa a la página de error personalizado, por lo que se debe utilizar la variable de sesión, o el valor debe agregarse a la colección de solicitud.Form o request.queryString para pasar el valor a la página de error personalizado.
Después de configurar la variable de sesión, el programa continúa viendo en qué botón se ha hecho clic. Cada tipo de error (excepto el primer tipo) se genera ejecutando el código ASP correspondiente, y el primer tipo de error requiere llamar a otra página.
...
'Busque un comando enviado desde los botones de la sección del formulario
Si Len (request.form (cmdsyntax)) entonces
Respuesta.
Respuesta.Redirect Syntax_error.asp
Final si
Si Len (request.form (cmdParamType)) entonces
intdate = error
INTDAY = DAY (INTDATE)
Final si
Si Len (request.form (cmdArray)) entonces
Dim arrthis (3)
arrthis (4) = causa un error
Final si
Si len (request.form (cmdfile)) entonces
Establecer objfso = server.createObject (scripting.filesystemObject)
Establecer objtstream = objfso.opentextfile (does_not_exist.txt)
Final si
Si Len (request.form (cmdpageCount)) entonces
Establecer objPageCount = Server.CreateObject (MSWC.PageCounter)
objpageCount.wrongProperty = 10
Final si
Si Len (request.form (cmdoBject)) entonces
Establecer objThis = server.createObject (doesnot.exist)
Final si
Compartir: finalmente encontró una solución para cruzar el límite del subíndice ASP Ayer, el sitio web de mi película tuvo un problema al generar páginas de contenido estático. Se le pidió que cruzara la línea con el subíndice. Nunca lo había encontrado antes, así que no sabía qué era, así que busqué respuestas en línea, pero fue muy difícil de encontrar. Encontré mucho pero no pude resolver el problema fundamental.