相关疑难解决方法(0)

asp.net mvc 3 handleerror全局过滤器始终显示IIS状态500页

我已经尝试了一切,甚至卸载了asp.net mvc3,我无法让HandleError全局过滤器工作.

我在Global.asax中设置了HandleError过滤器:

 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
 {
     filters.Add(new HandleErrorAttribute());
 }
Run Code Online (Sandbox Code Playgroud)

我也启用了CustomErrors(如果我设置defaultRedirect ="Error"并不重要,我认为这是在文档中因为旧版本的mvc需要):

<customErrors mode="On" />
Run Code Online (Sandbox Code Playgroud)

尝试浏览页面直到错误被引发,你从localhost或使用主机名,在开发服务器或IIS 7.5中,它总是重定向到标准状态500页,而不是我自定义Error.cshtml视图,我已在共享中创建.这是错误视图代码:

@model System.Web.Mvc.HandleErrorInfo

@{
    ViewBag.Title = "Oooops";
}

<h2>Ooops Something really bad happened!</h2>
Run Code Online (Sandbox Code Playgroud)

另外我注意到,如果我创建一个新的ASP.NET MVC3项目,然后选择"Internet Application"模板,并且只是在该项目中启用customErrors,那么HandleError过滤器开始正常工作,但是使用空的MVC3模板却没有.


我想澄清一下,确实我可以在调试时看到正在处理的错误视图,但浏览器始终显示错误500页面.

c# asp.net asp.net-mvc razor asp.net-mvc-3

9
推荐指数
3
解决办法
9492
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

razor ×1