Я создал простую error.cshtml
страницу бритвы в папке Pages
. Папка Pages
находится на том же уровне, что и папка Views
, поэтому она находится на правильном уровне.
Error.cshtml
страница похожа на разметку и код, показанные здесь:
@page
<h2>Sorry... Try again later...</h2>
В Startup.cs
у меня есть следующий код
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
}
//app.UseDefaultFiles();
app.UseStaticFiles();
app.UseNodeModules();
app.UseRouting();
app.UseEndpoints(cfg => {
cfg.MapControllerRoute("Fallback", "{controller}/{action}/{id?}",
new { controller = "App", action = "Index" });
});
}
Я сделал убедитесь, что env не является средой Development
, поэтому он вызывает app.UseExceptionHandler("/Error")
. Однако, когда возникает исключение, я получаю сообщение HTTP ERROR 404 «страница localhost не может быть найдена» вместо получения своей настраиваемой страницы ошибки.
Я не уверен, почему не загружается моя страница с ошибкой. Любая помощь приветствуется.