Nivel de página de Asp.Net Tracdepuración, manejo de errores
⚡ Resumen inteligente
Depuración de ASP.NET, tracLa gestión de errores y el manejo de errores en Visual Studio ayudan a los desarrolladores a detectar problemas tempranamente y a dar seguimiento a las solicitudes. trace.axd, y redirigir a los usuarios a páginas de error personalizadas cuando se produzcan excepciones no controladas durante el ciclo de vida de desarrollo y producción.
En cualquier aplicación, es probable que se produzcan errores durante el proceso de desarrollo. Es importante poder descubrir errores en una etapa temprana.
En Visual Studio, es posible realizar esta función en aplicaciones ASP.NET. Visual Studio se utiliza para la depuración y cuenta con técnicas de manejo de errores para ASP.NET.
¿Qué es la depuración en ASP.NET?
Depuración Es el proceso de agregar puntos de interrupción a una aplicación. Estos puntos de interrupción se utilizan para pausar la ejecución de un programa en marcha. Esto permite al desarrollador comprender qué sucede en el programa en un momento determinado.
Veamos un ejemplo de un programa. Este programa muestra al usuario la cadena "Estamos depurando". Supongamos que, al ejecutar la aplicación, por alguna razón, la cadena no se muestra. Para identificar el problema, necesitamos añadir un punto de interrupción. Podemos añadir un punto de interrupción en la línea de código que muestra la cadena. Este punto de interrupción pausará la ejecución del programa. En ese momento, el programador podrá ver qué está fallando y corregir el programa según sea necesario.
En este ejemplo, utilizaremos nuestra aplicación de demostración que creamos en capítulos anteriores. En el siguiente ejemplo, veremos:
- Cómo hacer que la aplicación de demostración muestre una cadena.
- Cómo agregar puntos de interrupción a una aplicación.
- Cómo depurar la aplicación utilizando este punto de interrupción.
Cómo depurar una aplicación en ASP.NET
A continuación se detallan los pasos para crear una aplicación de demostración, agregar puntos de interrupción y depurar en ASP.NET:
Paso 1) Abra la aplicación en Visual Studio.
Primero, asegurémonos de que nuestra aplicación web esté abierta en Visual Studio. Verifique que la aplicación DemoApplication esté abierta en Visual Studio.
Paso 2) Ahora abra el archivo Demo.aspx.cs y agregue la siguiente línea de código.
- Simplemente estamos agregando la línea de código Response.Write para mostrar una cadena.
- Entonces, cuando se ejecuta la aplicación, debería mostrar la cadena "Estamos depurando" en el navegador web.
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("We are debugging"); } } }
Paso 3) Agregue un punto de interrupción a la aplicación.
Un punto de interrupción es un punto en Visual Studio donde desea que se detenga la ejecución del programa.
- Para añadir un punto de interrupción, haz clic en la columna donde quieras insertarlo. En este caso, queremos que el programa se detenga en la línea de código “Response.Write”. No necesitas añadir ningún comando; simplemente haz clic en la línea donde deseas insertarlo.
- Una vez hecho esto, notarás que el código queda marcado en rojo. Además, aparece una burbuja roja en la columna al lado de la línea de código.
Nota: Puedes añadir varios puntos de interrupción en una aplicación.
Paso 4) Ejecute la aplicación en modo de depuración.
Ahora debe ejecutar su aplicación en modo de depuración. En Visual Studio, elija la opción de menú Depurar->Iniciar depuración.
Salida:-
Cuando realice todos los pasos correctamente, la ejecución del programa se interrumpirá. Visual Studio irá al punto de interrupción y marcará la línea de código en amarillo.
Ahora, si el programador considera que el código es incorrecto, se puede detener la ejecución. Luego, el código se puede modificar en consecuencia. Para continuar con el programa, el programador debe hacer clic en el botón F5 del teclado.
¿Qué es Trac¿Cómo se hace en ASP.NET?
Aplicación tracinsights permite ver si alguna de las páginas solicitadas produce un error. Cuando tracing está habilitado, una página adicional llamada trace.axd se agrega a la aplicación (ver imagen a continuación). Esta página está integrada a la aplicación y mostrará todas las solicitudes y su estado.
Cómo habilitar TracIntroducción a una aplicación en ASP.NET
Veamos cómo habilitar tracbuscando un Aplicación ASP.NET:
Paso 1) Vamos a trabajar en nuestra aplicación de demostración. Abra el archivo web.config desde el Explorador de soluciones.
Paso 2) Agregue la siguiente línea de código al archivo web.config. tracLa declaración e se utiliza para habilitar tracsolicitando la aplicación.
- El límite de solicitud en el tracLa declaración e especifica el número de solicitudes de página que deben ser traced.
- En nuestro ejemplo, establecemos un límite de 40. Ponemos un límite porque un valor superior degradaría el rendimiento de la aplicación.
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <httpRuntime targetFramework="4.0" /> <trace enabled="true" pageOutput="false" requestLimit="40" localOnly="false" /> </system.web> </configuration>
Ejecuta la aplicación de demostración en Visual Studio.
Salida:-
Si ahora navega a la URL http://localhost:53003/trace.axdAquí verá la información de cada solicitud. Podrá comprobar si se ha producido algún error en la aplicación. En la página se muestran los siguientes tipos de información:
- El momento de la solicitud de la página web.
- El nombre de la página web que se solicita.
- El código de estado de la solicitud web (un código de estado de 200 significa que la solicitud se realizó correctamente).
- El enlace "Ver detalles" permite consultar más información sobre la solicitud web. Un detalle importante que se proporciona es la información del encabezado, que muestra qué información se envía en el encabezado de cada solicitud web.
Nivel de página Tracing en ASP.NET
Nivel de página Tracinsights En ASP.NET, Visual Studio muestra información general sobre una página web durante su procesamiento. Esto resulta útil para la depuración si la página no funciona correctamente. Visual Studio proporciona información detallada sobre diversos aspectos de la página, como el tiempo de ejecución de cada método en la solicitud web.
Por ejemplo, si su aplicación web presenta problemas de rendimiento, esta información puede ayudar a depurar el problema. Esta información se muestra cuando la aplicación se ejecuta en Visual Studio.
Cómo habilitar TracImplementación a nivel de página en ASP.NET
Veamos cómo habilitar el nivel de página tracpara una aplicación ASP.NET:
Paso 1) Vamos a trabajar en nuestra aplicación de demostración. Abra el archivo demo.aspx desde el Explorador de soluciones.
Paso 2) Agregue la siguiente línea de código para habilitar la página. tracing. En la declaración de la página, simplemente agregue el atributo Trace="true". Esta línea de código permitirá el nivel de página tracing.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" Trace="true" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> </form> </body> </html>
Ejecute la aplicación en Visual Studio.
Salida:-
Ahora, cuando se muestre la página web Demo.aspx, obtendrá una gran cantidad de información sobre la página. En esta página se muestra información como el tiempo para cada aspecto del ciclo de vida de la página.
Manejo de errores: visualización de una página de error personalizada
In ASP.NET, puede hacer que se muestren páginas de error personalizadas a los usuarios. Si una aplicación contiene algún tipo de error, una página personalizada mostrará ese error al usuario.
En nuestro ejemplo, primero agregaremos una página HTML. Esta página mostrará al usuario el mensaje "Estamos investigando el problema". A continuación, agregaremos un código de error a nuestra página demo.aspx para que se muestre la página de error. Sigamos los pasos que se indican a continuación.
Paso 1) Trabajemos en nuestra aplicación de demostración. Añadamos una página HTML a la aplicación.
- Haga clic con el botón derecho en la aplicación de demostración en el Explorador de soluciones.
- Seleccione la opción de menú Agregar->Página HTML.
Paso 2) En el siguiente paso, debemos proporcionar un nombre a la nueva página HTML.
- Proporcione el nombre como ErrorPage.
- Haga clic en el botón Aceptar para continuar.
Paso 3) La página de error se abrirá automáticamente en Visual Studio. Si accede al Explorador de soluciones, verá que el archivo se ha añadido.
Agregue la línea de código “Estamos investigando el problema” a la página HTML. No es necesario cerrar el archivo HTML antes de modificar el archivo web.config.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> We are looking into the problem </body> </html>
Paso 4) Ahora debes modificar el archivo web.config. Este cambio indicará que, cuando se produzca un error en la aplicación, se debe mostrar la página de error personalizada. La etiqueta customErrors permite definir dicha página. La propiedad defaultRedirect se establece con el nombre de la página de error personalizada que creamos en el paso anterior.
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />
<customErrors mode="On" defaultRedirect="ErrorPage.html">
</customErrors>
</system.web>
</configuration>
Paso 5) Ahora vamos a añadir código defectuoso a la página demo.aspx.cs. Abra esta página haciendo doble clic en el archivo en el Explorador de soluciones.
Agregue el siguiente código al archivo Demo.aspx.cs.
- Estas líneas de código están diseñadas para leer las líneas de texto de un archivo.
- Se supone que el archivo se encuentra en la unidad D con el nombre Example.txt.
- Pero en nuestra situación, este archivo realmente no existe. Entonces este código generará un error cuando se ejecute la aplicación.
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { String path = @"D:\Example.txt"; string[] lines; lines = File.ReadAllLines(path); } } }
Ahora ejecuta el código en Visual Studio y debería obtener el siguiente resultado.
Salida:-
La página anterior muestra que se produjo un error en la aplicación. Como resultado, se muestra al usuario la página ErrorPage.html.
Excepción no controlada de ASP.NET
Incluso en el mejor de los casos, pueden ocurrir errores imprevistos. Por ejemplo, si un usuario accede a la página incorrecta de la aplicación, esto es algo que no se puede predecir. En tales casos, ASP.NET puede redirigir al usuario a ErrorPage.html.
Veamos un ejemplo de esto.
- Vamos a utilizar nuestra misma aplicación de demostración que contiene el archivo ErrorPage.html.
- E intentaremos ver una página web que no existe en nuestra aplicación.
- En este caso, deberíamos ser redirigidos a nuestra página ErrorPage.html. Veamos los pasos para lograrlo.
Paso 1) Vamos a trabajar en nuestra aplicación de demostración. Abra el archivo Global.asax.cs desde el Explorador de soluciones.
Nota: El archivo Global.asax.cs se utiliza para agregar código que será aplicable a todas las páginas de la aplicación.
Paso 2) Agregue la siguiente línea de código al archivo Global.asax.cs. Estas líneas se utilizarán para comprobar si hay errores y mostrar la página ErrorPage.html según corresponda.
namespace DemoApplication { public class Global : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { HttpException lastErrorWrapper = Server.GetLastError() as HttpException; if (lastErrorWrapper.GetHttpCode() == 404) Server.Transfer("~/ErrorPage.html"); } } }
Code Explicación:-
- La primera línea corresponde al controlador de eventos Application_Error. Este evento se activa cada vez que se produce un error en la aplicación. Tenga en cuenta que el nombre del evento debe ser Application_Error y los parámetros deben ser los que se muestran arriba.
- A continuación, definimos un objeto de tipo de clase HttpException. Se trata de un objeto estándar que contendrá todos los detalles del error. A continuación, utilizamos el método Server.GetLastError para obtener todos los detalles del último error ocurrido en la aplicación.
- A continuación, comprobamos si el código de error del último error es 404 (el código de error 404 es el código estándar que se devuelve cuando un usuario intenta acceder a una página que no se encuentra). Si el código de error coincide, redirigimos al usuario a la página ErrorPage.html.
Ahora ejecuta el código en Visual Studio y deberías obtener el siguiente resultado.
Salida:-
Navegar por la página http://localhost:53003/Demo1.aspx. Recuerde que Demo1.aspx no existe en nuestra aplicación. Luego obtendrá el siguiente resultado.
La página anterior muestra que se produjo un error en la aplicación. Como resultado, se muestra al usuario la página ErrorPage.html.
Registro de errores de ASP.NET
Al registrar los errores de la aplicación, se facilita al desarrollador la depuración y resolución del problema posteriormente. ASP.NET cuenta con la funcionalidad para registrar errores. Esto se realiza en el archivo Global.asax.cs cuando se detecta el error. Durante el proceso de captura, el mensaje de error se puede escribir en un archivo de registro.
Veamos un ejemplo de esto.
- Vamos a utilizar nuestra misma aplicación de demostración que contiene el archivo ErrorPage.html.
- E intentaremos ver una página web que no existe en nuestra aplicación.
- En este caso, deberíamos ser redirigidos a nuestra página ErrorPage.html.
- Al mismo tiempo, escribiremos el mensaje de error en un archivo de registro. Veamos los pasos para lograrlo.
Paso 1) Vamos a trabajar en nuestra aplicación de demostración. Abra el archivo Global.asax.cs desde el Explorador de soluciones.
Paso 2) Agregue la siguiente línea de código al archivo Global.asax.cs. Esta línea verificará si hay errores y mostrará la página ErrorPage.html según corresponda. Además, registraremos los detalles del error en un archivo llamado AllErrors.txt. Para este ejemplo, crearemos este archivo en la unidad D.
namespace DemoApplication { public class Global : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { Exception exc = Server.GetLastError(); String str = ""; str = exc.Message; String path = @"D:\AllErrors.txt"; File.WriteAllText(path, str); Server.Transfer("~/ErrorPage.html"); } } }
Code Explicación:-
- La primera línea consiste en obtener el error en sí mismo utilizando el método Server.GetLastError. Este se asigna luego a la variable exc.
- A continuación, creamos una variable de cadena vacía llamada `str`. Obtenemos el mensaje de error real mediante la propiedad `exc.Message`. Esta propiedad contiene el mensaje exacto de cualquier error que se produzca al ejecutar la aplicación. Este mensaje se asigna a la variable de cadena.
- A continuación, definimos el archivo llamado AllErrors.txt. Aquí se guardarán todos los mensajes de error. Escribimos en este archivo la cadena `str` que contiene todos los mensajes de error.
- Finalmente, transferimos el usuario al archivo ErrorPage.html.
Salida:-
Navegar por la página http://localhost:53003/Demo1.aspx. Recuerde que Demo1.aspx no existe en nuestra aplicación. Luego obtendrá el siguiente resultado.
Y al mismo tiempo, si abre el archivo AllErrors.txt verá la siguiente información.
El mensaje de error se puede pasar luego al desarrollador para fines de depuración.





























