ASP.NET MVC HandleError
我如何[HandleError]
在asp.net MVC Preview 5中进行过滤?
我在我的Web.config文件中设置了customErrors
<customErrors mode="On" defaultRedirect="Error.aspx"> <error statusCode="403" redirect="NoAccess.htm"/> <error statusCode="404" redirect="FileNotFound.htm"/></customErrors>
并将[HandleError]放在我的Controller类上面,如下所示:
[HandleError]public class DSWebsiteController: Controller{ [snip] public ActionResult CrashTest() { throw new Exception("Oh Noes!"); }}
然后我让我的控制器从这个类继承并在它们上调用CrashTest()。视觉工作室在错误时停止,按f5继续后,我被重新路由到Error.aspx?aspxerrorpath = / sxi.mvc / CrashTest(其中sxi是使用过的控制器的名称。当然道路无法找到,我得到“'''应用程序中的服务器错误。”404。
这个站点从预览3移植到5.除了错误处理之外,所有东西都运行(没有太多工作要移植)。当我创建一个完整的新项目时,错误处理似乎有效。
想法?
- 注意 -
由于这个问题现在有超过3K的视图,我认为放入我目前使用的(ASP.NET MVC 1.0)是有益的。在mvc contrib项目中有一个名为“RescueAttribute”的出色属性你也应该检查一下;)
牧羊人nacy
红颜莎娜