ASP.NET MVC View не возвращается в среде prod
У меня странная проблема, и я ищу несколько указателей отладки. Когда страница была удалена с сайта, я делаю следующее:
Response.StatusCode = 410;
Response.Status = "410 Gone";
return View("PageRemoved");
В среде разработчиков это работает нормально. В prod браузер просто печатает: "Запрошенная вами страница удалена". но вид не отображается. Статус 410 возвращается в обеих средах. В какой-то момент это работало в Prod, но я не знаю когда.
Возможно ли, что IIS перехватывает код возврата 410 и печатает это сообщение? Если так, то где в IIS это было бы настроено? Как бы вы отладили это? (Я поместил лог-операторы в код, и путь к коду идентичен в обеих средах.)
1 ответ
Возможно, что IIS перехватывает ответы об ошибках и обслуживает пользовательскую страницу. Вы можете установить пользовательскую страницу ошибок для 410 ошибок в IIS, которая будет выполнять указанный URL-адрес на вашем сайте (или статическую страницу, если хотите). Вы можете найти эту опцию на вашем сайте> Страницы ошибок> Добавить.
Вы также можете попробовать следующее в вашем действии контроллера перед возвратом результата:
Response.TrySkipIisCustomErrors = true;