Ответ 1
Настройка Response.StatusCode - правильная вещь. Чтобы исправить "полезную" обработку ошибок IIS, установите свойство HttpResponse.TrySkipIisCustomErrors. Вы можете прочитать об этом здесь.
Предположим, что у меня есть метод в моем контроллере, который вызывается через вызов JQuery AJAX. Например. Я хотел бы удалить пользователя. Когда все будет хорошо, я возвращаю новый контент ( "ok" ) и выхожу из метода.
Что делать, если произошла ошибка? Я хотел бы указать его соответствующим кодом состояния, так что вызов моей ошибки будет вызван. Почему код состояния? Читайте здесь: Как вы вызываете "ошибку" ? callback в вызове JQuery AJAX с использованием ASP.NET MVC?
Однако подход не работает, потому что IIS7 возвращает собственное сообщение ( "Плохой запрос" ) моего пользовательского сообщения об ошибке.
Кроме того, есть еще две уловы:
Обратный вызов ошибки может выглядеть так: error: function (request) {alert (request.responseText);}
Настройка Response.StatusCode - правильная вещь. Чтобы исправить "полезную" обработку ошибок IIS, установите свойство HttpResponse.TrySkipIisCustomErrors. Вы можете прочитать об этом здесь.