Я пытался создать пользовательские страницы ошибок и просматривать их, пока моя среда все еще находится "в разработке", поэтому в своем файле Startup.cs я изменяю свой код на:
if (env.IsDevelopment())
{
//app.UseDeveloperExceptionPage();
app.UseExceptionHandler("/Home/Error");
app.UseStatusCodePagesWithRedirects("/Home/Error/{0}");
}
Затем я создаю Ошибка Действие в моем HomeController.cs
и PageNotFound действии. Так что мой HomeController.cs
теперь выглядит так:
[RouteAttribute("/Home/Error/{code?}")]
public IActionResult Error(int? code = null)
{
if(code.Value == 404)
{
return View("PageNotFound");
}
return View();
}
public IActionResult PageNotFound()
{
return View();
}
На самом деле это прекрасно работает, за исключением того, что перенаправляет слишком много. Например, если я хотел бы перейти на страницу, которая вернет код состояния 404, то в моей отладке произойдет следующее: ошибка вызывает 5 раз, а затем неожиданно возвращается View("PageNotFound)
. И это не единственная проблема , основная проблема заключается в том, что после каждого вызова действия (независимо от того, возвращает ли Ошибка или нет) мой отладчик переходит на Действие ошибки , повторяет это 5 раз, затем внезапно возвращает содержимое главной страницы ... Что здесь происходит, что я пропускаю? Кто-нибудь, пожалуйста, помогите мне .. Спасибо!