Capturar errores en ASP.NET
Generalmente, la alternativa para capturar errores y mostrarlos mas amigables es la de escribirlo en el Global.asax.
Acá encontraron otra manera: utilizan un HttpModule que captura el error y redirecciona a una página. Interesante para probarlo
using System;También crearon un template para VisualStudio que muestra como crear estas páginas nuevas, con un par de clases auxiliares.
using System.Web;
using System.Web.Configuration;
namespace Superexpert
{
///
/// Handles all unhanlded exceptions in an application
///
public class FriendlyErrorsModule : IHttpModule
{
public void Init(HttpApplication app)
{
app.Error += new EventHandler(app_Error);
}
///
/// When debug mode is enabled, display
/// friendly error page
///
void app_Error(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
HttpContext context = app.Context;
Exception error = context.Server.GetLastError().GetBaseException();
context.Response.Clear();
CompilationSection compilationConfig = (CompilationSection)
WebConfigurationManager.GetWebApplicationSection("system.web/compilation");
if (compilationConfig.Debug)
context.Server.Transfer("~/FriendlyErrors/Debug.aspx");
else
context.Server.Transfer("~/FriendlyErrors/Public.aspx");
}
public void Dispose()
{
}
}
}
Obviamente, falta codificar las páginas, pero lo que importa es la idea
Mandé este template a la cuenta de mail del sitio bajo el título "Template Error ASP.NET"

0 Comentarios:
Publicar un comentario
Suscribirse a Comentarios de la entrada [Atom]
<< Página Principal