C# MVC 3中HandleErrorAttribute的优点

C# MVC 3中HandleErrorAttribute的优点,c#,asp.net-mvc,visual-studio-2010,asp.net-mvc-3,C#,Asp.net Mvc,Visual Studio 2010,Asp.net Mvc 3,我正在努力理解MVC3。我还参考了以前的文章,在web.config文件中添加了。所有错误都重定向到\Views\Shared\Error.cshtml视图。如果我保留HandleErrorAttribute或将其从控制器中移除,则行为没有区别。 控制器的代码 public class HomeController : Controller { [HandleError] public ActionResult Index() { ViewBag.Mess

我正在努力理解MVC3。我还参考了以前的文章,在web.config文件中添加了。所有错误都重定向到\Views\Shared\Error.cshtml视图。如果我保留HandleErrorAttribute或将其从控制器中移除,则行为没有区别。 控制器的代码

public class HomeController : Controller
{
    [HandleError]
    public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";
        throw new Exception();
        return View();
    }


}
另外,我在一些文章和文章中也提到,使用,请求可以重定向到所需的视图

问题

HandleErrorAttribute有什么用途? 与1相比,使用它有什么好处HandleErrorAttribute是一个FilterAttribute,用于处理引发错误的控制器操作。我建议阅读MSDN页面上的文档,因为它准确地描述了它的功能和可以采用的构造函数。此外,在您的网络配置中,必须将customErrors部分设置为

<system.web>
  <customErrors mode="On" defaultRedirect="Error" />
</system.web>
2现在,自定义错误部分用于允许Asp.Net应用程序在引发错误异常时控制页面的行为。当自定义错误设置为On或RemoteOnly时,仅当发生应用程序异常时,应用程序将使用Web.config中定义的规则显示错误消息或重定向到页面

3使用HandleErrorAttribute,您可以根据引发的异常类型提供不同的重定向\视图

我建议你看看这个话题,更多信息请阅读以利亚·马诺的帖子


干杯。

我已经读过这个答案了。我就是这样找到斯科特文章的链接的。因此,为HandleError提供无参数构造函数将导致与customErrors行为相同的行为。优点是为这些处理程序类型提供错误类型和处理程序。我认为这是我们仅仅使用customerror无法实现的