Разница между UseStatusCodePagesWithRedirects и UseStatusCodePagesWithReExecute - кодовые страницы состояния в ядре Asp.net - PullRequest
0 голосов
/ 18 мая 2018

Я использую промежуточное ПО UseStatusCodePages для отображения кодовых страниц состояния в моем приложении, но оно показывает простой текст в пользовательском интерфейсе без какой-либо другой информации,

Я хочу показать пользовательский интерфейс с информацией о коде состояния вместе с другой полезной информацией, такой какНомер поддержки клиентов с более удобной для пользователя страницей.

Я обнаружил, что мы можем использовать два метода расширения для этого, а именно UseStatusCodePagesWithRedirects и UseStatusCodePagesWithReExecute.Единственное отличие, которое я обнаружил из Документов Microsoft , это

UseStatusCodePagesWithRedirects : отправка 302 клиенту.

UseStatusCodePagesWithReExecute : отправкаИсходный код состояния и выполняет обработчик для URL перенаправления.

Разве это единственная разница?

1 Ответ

0 голосов
/ 19 апреля 2019

Я думаю, что основное отличие состоит в том, что UseStatusCodePagesWithRedirects перенаправляет вас на метод действия контроллера ошибок, а UseStatusCodePagesWithReExecute просто отображает страницу без перенаправления

* ** 1003 тысяча два * Пример

Действия контроллера

[Route("error/404")]
public IActionResult Error404(int code)
{

    return View("Error404");
}
[Route("error/{code}")]
public IActionResult Error(int code)
{
    return StatusCode(code);
}

Запуск Cinfigue

 app.UseStatusCodePagesWithRedirects("/error/{0}");

или

  app.UseStatusCodePagesWithReExecute("/error/{0}");

Случай 1 (ошибка 404)

URL: https://localhost:5001/notexits_page

1) UseStatusCodePagesWithRedirects
Результат

URL-адрес: https://localhost:5001/error/404

Мы видим ошибку404 стр.

2) UseStatusCodePagesWithReExecute

Результат

URL-адрес: https://localhost:5001/notexits_page

Мы видим ошибку404 стр.

Case2 (ошибка 401)

URL: https://localhost:5001/admin/users

1) UseStatusCodePagesWithRedirects
Результат

URL-адрес: https://localhost:5001/error/401

укладываем в бесконечный цикл

1) UseStatusCodePagesWithRedirects
Результат

URL-адрес: https://localhost:5001/admin/users

Мы видим страницу ошибки браузера по умолчанию для ошибки 401

...