ASP.NET MVC View не возвращается в среде prod - PullRequest
2 голосов
/ 06 июня 2011

У меня странная проблема, и я ищу несколько указателей отладки.Когда страница была удалена с сайта, я делаю следующее:

Response.StatusCode = 410;
Response.Status = "410 Gone";
return View("PageRemoved");

В среде разработчика она работает нормально.В prod браузер просто печатает: «Запрошенная вами страница удалена».но вид не отображается.Статус 410 возвращается в обеих средах.В какой-то момент это работало в prod, но я не знаю, когда.

Возможно ли, что IIS перехватывает код возврата 410 и печатает это сообщение?Если так, то где в IIS это было бы настроено?Как бы вы отладили это?(Я поместил лог-операторы в код, и путь к коду идентичен в обеих средах.)

1 Ответ

5 голосов
/ 16 июня 2011

Возможно, что IIS перехватывает ответы об ошибках и обслуживает пользовательскую страницу.Вы можете установить пользовательскую страницу ошибок для 410 ошибок в IIS, которая будет выполнять указанный URL-адрес на вашем сайте (или статическую страницу, если хотите).Вы можете найти эту опцию в Ваш сайт> Страницы ошибок> Добавить .

Вы также можете попробовать следующее в вашем действии контроллера перед возвратом результата:

Response.TrySkipIisCustomErrors = true;
...