有谁知道为什么Error.cshtml在异常错误被触发时不显示。它在网页浏览器的标题中显示了带有HttpStatus 500的空白。MVC 6错误处理程序没有显示视图页面?
//Startup...
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseExceptionHandler("/Home/Error");
app.UseMvc(routes => {
routes.MapRoute(name: "default", template: "{controller=SignIn}/{action=Index}");
});
}
}
//Controller...
public class HomeController : Controller
{
[HttpGet]
public IActionResult Error()
{
return View();
}
}
public class SignInController : Controller
{
[HttpGet]
public IActionResult Index()
{
throw new Exception("Testing error handling");
return View();
}
}
[编辑] 但是,如果使用app.UseExceptionHandler("/Error.html");
那么它会工作,因为它是一个静态页面。
删除异常不显示页面? –
是的,它会显示'/ Signin/Index'查看页面。 – fletchsod
这很奇怪,你的服务器实际上服务于一个静态文件,因为你的'Configure'方法中没有'app.UseStaticFiles();'。在**'app.UseExceptionHandler(“/ error.html”);'之后添加它是很重要的。但与/首页/错误我不明白为什么它不适合你,我已经尝试了你的确切代码,它的效果很好。尝试使用“Web Application”模板创建一个新的ASP.NET 5项目,并检查与实际项目的所有差异。 –