Я пытаюсь перенаправить HTTP-запросы с кодом ошибки 4XX или 5XX на пользовательскую страницу ошибки, сохраняя при этом код ошибки на уровне запроса. Я также хочу перенаправить исключения на пользовательскую страницу ошибки с кодом ошибки 500.
Для этого я использовал в своем файле запуска "app.UseStatusCodePagesWithReExecute (" / error / {0} "); app.UseExceptionHandler( "/ ошибка / 500");»связан с контроллером ошибок.
Хорошо работает часть об исключениях. Мне также удается перенаправить несуществующие маршруты на мою пользовательскую страницу, сохраняя ошибку 404.
Однако я не могу перенаправить следующие действия на свои пользовательские страницы ошибок:
- return NotFound ()
- return BadRequest ()
- return StatusCode (404)
Какое техническое решение будет применяться для достижения этой цели?
Вот функция настройки моего файла запуска:
app.UseStatusCodePagesWithReExecute("/error/{0}");
app.UseExceptionHandler("/error/500");
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "Error-StatusCode-Route",
pattern: "error/{statusCode}",
defaults: new { controller = "Error", action = "InternalServerError" }
);
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});