加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 清理MVC 3.0应用程序中抛出的所有错误的方法?

发布时间:2020-12-16 00:44:09 所属栏目:asp.Net 来源:网络整理
导读:我正在建立一个MVC 3.0电子商务网站。我想避免在我的代码上粘贴try-catch块。 问题很简单 – 捕获我网站上抛出的所有错误的好策略是什么?我想知道他们所有的…所以我可以努力把这个计数值设置为0,一旦网站上线。我打算将每个错误写入记录器,并发送电子邮
我正在建立一个MVC 3.0电子商务网站。我想避免在我的代码上粘贴try-catch块。

问题很简单 – 捕获我网站上抛出的所有错误的好策略是什么?我想知道他们所有的…所以我可以努力把这个计数值设置为0,一旦网站上线。我打算将每个错误写入记录器,并发送电子邮件。

我已经做了一些关于在global.asax文件中捕获它的阅读,但我也读过它并没有得到它们。

任何人有任何建议或者可以指出我的方向好吗?

解决方法

解决这个问题的MVC方法是过滤器。如果您已经在MVC3上,全球过滤器是为您而设。有特殊类型的过滤器用于处理错误:HandleError过滤器。 This article描述了很多使用它。

您可以实现自己的过滤器并控制未处理异常的每个方面,例如:

public class HandleExceptionsAttribute : HandleErrorAttribute
{
    public override void OnException(ExceptionContext filterContext)
    {
        var expception = filterContext.Exception;

        // custom code here..
    }
}

最后,如果您想要存储和记录所有未处理的异常,那么ELMAH即ELMAH.MVC是最佳选择。使用NuGet package安装它,配置它,所有数据将从以下链接访问:

http://yourapp/admin/elmah/

我的建议是在Global.asax.cs中不要使用Application_Error这样的东西。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读