我在我的 MVC3 应用程序中实现自定义错误,它在 web.config 中打开:
<customErrors mode="On">
<error statusCode="403" redirect="/Errors/Http403" />
<error statusCode="500" redirect="/Errors/Http500" />
</customErrors>
我的控制器非常简单,对应正确命名的视图:
public class ErrorsController : Controller
{
public ActionResult Http403()
{
return View("Http403");
}
public ActionResult Http500()
{
return View("Http500");
}
}
为了测试,我在另一个控制器中抛出异常:
public class ThrowingController : Controller
{
public ActionResult NotAuthorised()
{
throw new HttpException(403, "");
}
public ActionResult ServerError()
{
throw new HttpException(500, "");
}
}
403 有效 - 我被重定向到我的自定义“/Errors/Http403”。
500 不起作用 - 我被重定向到共享文件夹中的默认错误页面。
有任何想法吗?