【发布时间】:2017-06-18 18:03:42
【问题描述】:
我现在的配置:
public void ConfigureDevelopment(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
//app.UseDeveloperExceptionPage();
//app.UseDatabaseErrorPage();
app.UseStatusCodePagesWithRedirects("/error/{0}");
app.UseExceptionHandler();
Configure(app);
}
我有这个控制器,它应该在服务器注册任何异常时执行。当我执行“错误/测试”时,我按预期重定向到“错误/500”。如果我手动执行“错误/异常”,我会得到服务器 500 本机错误,而不是我的。
public class ErrorController : Controller
{
[Route("error/404")]
public ActionResult Error404()
{
return View("404");
}
[Route("error/500")]
public ActionResult Error500()
{
return View("500");
}
[Route("error/test")]
public ActionResult Test()
{
return new StatusCodeResult(500);
}
[Route("error/exception")]
public ActionResult Exception()
{
throw new Exception("Should redirect to error/500");
return Content("nope");
}
}
知道如何在动作中引发异常时将“错误/异常”重定向到“错误/500”吗?
谢谢。
【问题讨论】:
标签: c# asp.net-mvc error-handling asp.net-core-mvc