[英]Send email on 500 Error Asp.net MVC
如果我的MVC应用程序中发生500异常错误,我想发送一封电子邮件以提醒网站所有者。
我在global.asax.cs文件上发现了Application_Application_Error方法,该方法会在应用程序出现错误时触发。
我想知道的是,用这种方法发送电子邮件是否安全?如果发生意外错误,该怎么办? 应用程序是否会陷入无限循环? 杀死我的网络服务器?
以前有人做过这样的事吗,有没有更好的办法?
如果您使用的是MVC,为什么不使用可添加到整个应用程序中的动作过滤器呢?
public class CustomErrorHandler : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
try{
//Send email
}
catch{
//Swallow...
}
base.OnException(filterContext);
}
}
然后在您的FilterConfig.cs
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new CustomErrorHandler());
}
如果您在过滤器中吞下了异常,则该异常不会冒泡并在您的应用程序中创建任何循环。 另外,您可以更好地控制错误处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.