gpt4 book ai didi

asp.net-mvc - 捕获MVC 3.0应用程序中引发的所有错误的干净方法?

转载 作者:行者123 更新时间:2023-12-03 11:40:50 26 4
gpt4 key购买 nike

我正在建立一个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的东西。

关于asp.net-mvc - 捕获MVC 3.0应用程序中引发的所有错误的干净方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com