[英]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
HandleErrorAttribute
的用途是HandleErrorAttribute
? <customErrors..
相比,使用它有什么优势? <customErrors..
无法实现的目标? 1) HandleErrorAttribute
( MSDN )是一个FilterAttribute
,用于处理引发错误的控制器操作。 我建议阅读MSDN页面上的文档,因为它准确描述了它的功能以及可以使用的构造函数。 此外,在您的webconfig中,必须将customErrors部分设置为。
<system.web>
<customErrors mode="On" defaultRedirect="Error" />
</system.web>
2)现在,自定义错误部分用于允许Asp.Net应用程序在出现错误(异常)时控制页面的行为。 ( MSDN )当自定义错误设置为On
或RemoteOnly
时,如果应用程序发生异常,则应用程序将使用Web.config中定义的规则来显示错误消息或重定向到页面。
3)使用HandleErrorAttribute可以根据引发的异常类型提供不同的重定向\\视图。
我建议您查看此SO主题以获取更多信息(请阅读Elijah Manor的文章)。 ASP.NET MVC HandleError
干杯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.