İstisna hatası tetiklendiğinde, Error.cshtml'nin neden görünmediğini herkes biliyor mu? Web tarayıcısının başlığında HttpStatus 500 sürümü ile boş gösterildi.MVC 6 hata görüntüleyici, gösterim sayfasını göstermiyor mu?
//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();
}
}
[Düzenlendi] Ama app.UseExceptionHandler("/Error.html");
kullanırsak statik bir sayfa çünkü o zaman çalışacaktır.
sayfasını gösterir İstisna Çıkarma? –
Evet, '/ Signin/Index' Görünüm sayfasını gösterir. – fletchsod
Bu, 'Configure' yönteminde' app.UseStaticFiles(); 'olmadığı için sunucunuzun aslında statik bir dosyaya hizmet vermesi gariptir. ** app.UseExceptionHandler ("/ error.html"); ** 'den sonra eklemek önemlidir. Ama/Home/Error ile neden sizin için çalışmadığını göremiyorum, tam olarak sizinki gibi kodları denedim ve harika çalışıyor. Web Uygulaması şablonunu kullanarak yeni bir ASP.NET 5 projesi oluşturmaya çalışın ve gerçek projenizle tüm farklılıkları kontrol edin. –