为了账号安全,请及时绑定邮箱和手机立即绑定

在 500 错误 Asp.net MVC 上发送电子邮件

在 500 错误 Asp.net MVC 上发送电子邮件

C#
ITMISS 2021-06-04 10:25:48
如果我的 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());       

}

如果您吞下过滤器中的异常,则它不会冒泡并在您的应用程序中创建任何循环。此外,您可以对错误处理进行更精细的控制。


查看完整回答
反对 回复 2021-06-05
?
SMILET

TA贡献1796条经验 获得超4个赞

通常使用某种库来执行日志记录:Nloglog4netSerilog或其他。大多数此类库都具有执行电子邮件通知的能力。您可以使用这些知识 — 在您的应用程序中执行简单且一致的日志记录,并通过为您选择的记录器进行适当配置来实现目标。

这可以通过使用:


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信