2016-03-23 16 views
0

İ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.

+0

sayfasını gösterir İstisna Çıkarma? –

+0

Evet, '/ Signin/Index' Görünüm sayfasını gösterir. – fletchsod

+0

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. –

cevap

0

Sen rota tanımında bir kapanış parantez eksik:

routes.MapRoute(name: "default", template: "{controller=SignIn}/{action=Index}"); 
+0

Bu StackOverflow yayınını yazdığımda yazım hatası oldu. Yazım hatası şimdi düzeltildi. – fletchsod

+0

Karanlıkta çekim: Başlıkta HTTPStatus 500 sürümü görüldüğünden, 500 sayfa yükleniyor, ancak css/js dosyalarının hiçbiri yüklenmiyor. Yapılandır() 'için' app.UseStaticFiles(); 'ekleyebilir misiniz? –

İlgili konular