В настоящее время я разрабатываю пользовательские страницы ошибок в своем коде обработки ошибок для моего приложения MVC. Но я не понимаю, какие коды состояния HTTP я должен покрыть.
Вопрос: существует ли типичный список кодов состояния HTTP, на которые нужно обслуживать?
В нескольких статьях, в которых объясняется, как обрабатывать ошибки MVC и страницы пользовательских ошибок, но, похоже, отображает только несколько кодов состояния HTTP: 403, 404 и 500 в коде обработки ошибок. Что относительно кода статуса HTTP: 408 в качестве примера? Должно ли это быть охвачено? Что относительно тонны других кодов состояния - Коды состояния HTTP на вики
Это может показаться глупым вопросом, но я действительно не знаю ответа и не могу найти информацию об этом. Я что-то пропустил здесь, т.е. Должен ли покрываться только подмножество кодов состояния?
Если это поможет, ниже - это то, что я сделал для обработки ошибок MVC. Этот код (до сих пор с небольшим тестированием, который я сделал) охватывает 404 и все исключения 50x типов:
1 В файле web.config и записи для каждого кода состояния HTTP я хочу использовать
<httpErrors errorMode="Custom" existingResponse="Replace" >
<remove statusCode="403" />
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="403" responseMode="ExecuteURL" path="/Error/Forbidden" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error/NotFound" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error" />
</httpErrors>
2 Контроллер ошибок
namespace MyApp.Controllers
{
public class ErrorController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Forbidden()
{
return View();
}
public ActionResult NotFound()
{
return View();
}
3 Удобные страницы с ошибками:
/Views/Shared/Index.cshtml
/Views/Shared/Forbidden.cshtml
/Views/Shared/NotFound.cshtml
4 ELMAH для регистрации
Дальнейшие выводы на 2 ноября 2015 г.
Что-то, что я только что обнаружил, что смотрел на меня в лицо, которое я пропустил... В IIS страницы с ошибками по умолчанию:
- 401 - Несанкционированный
- 403 - Запрещено
- 404 - Не найдено
- 405 - метод не разрешен
- 406 - Не допускается
- 412 - Сбой предварительного условия
- 500 - Внутренняя ошибка сервера
- 501 - не реализовано
- 502 - Bad Gateway
Если это хороший диапазон, который Microsoft установила, я пойду по этому пути в качестве руководства, идущего вперед!