如果我的 MVC 应用程序中发生 500 异常错误,我想发送一封电子邮件来提醒网站所有者。我在 global.asax.cs 文件中发现了 Application_Application_Error 方法,该方法在应用程序出现错误时触发。我想知道的是,用这种方法发送电子邮件是否安全,如果发生意外错误会怎样?应用程序最终会陷入无限循环吗?杀死我的网络服务器?有没有人以前做过这样的事情,有没有更好的方法?
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
如果您使用的是 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());
}
如果您吞下过滤器中的异常,则它不会冒泡并在您的应用程序中创建任何循环。此外,您可以对错误处理进行更精细的控制。
- 2 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消