繁体   English   中英

MVC 3中HandleErrorAttribute的优点

[英]Advantages of HandleErrorAttribute in MVC 3

我试图了解MVC3中的HandleErrorAttribute (我还阅读了ScottGu的旧文章)我将<customErrors mode="On" />到了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();
    }


}

另外,我在一些文章和SO文章中显示,使用<error redirect="..."/> ,可以将请求重定向到所需的视图。

Qestions

  1. HandleErrorAttribute的用途是HandleErrorAttribute
  2. <customErrors..相比,使用它有什么优势?
  3. 我们可以实现<customErrors..无法实现的目标?

1) HandleErrorAttributeMSDN )是一个FilterAttribute ,用于处理引发错误的控制器操作。 我建议阅读MSDN页面上的文档,因为它准确描述了它的功能以及可以使用的构造函数。 此外,在您的webconfig中,必须将customErrors部分设置为。

<system.web>
  <customErrors mode="On" defaultRedirect="Error" />
</system.web>

2)现在,自定义错误部分用于允许Asp.Net应用程序在出现错误(异常)时控制页面的行为。 MSDN )当自定义错误设置为OnRemoteOnly时,如果应用程序发生异常,则应用程序将使用Web.config中定义的规则来显示错误消息或重定向到页面。

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

我建议您查看此SO主题以获取更多信息(请阅读Elijah Manor的文章)。 ASP.NET MVC HandleError

干杯。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM