Страница не отображается при отправке кода статуса 500 клиенту - PullRequest
3 голосов
/ 20 июля 2010

У меня есть страница (универсальный обработчик), на которой я хочу вернуть код состояния 500 клиенту, чтобы указать, что что-то не так.Я делаю это так:

Response.StatusCode = 500;
Response.StatusDescription = "Internal Server Error";

И в то же время выношу дружеское сообщение о том, что что-то пошло не так.Но вместо того, чтобы увидеть мое сообщение, я получаю сообщение IIS по умолчанию, в котором говорится что-то вроде этого:

Ошибка сервера 500 - Внутренняя ошибка сервера.Существует проблема с ресурсом, который вы ищете, и он не может быть отображен.

И если я захожу в IIS и удаляю страницу ошибки на 500, я получаю это сообщение:

Невозможно отобразить страницу, поскольку произошла внутренняя ошибка сервера.

Она работает так, как задумано в IIS6, но не в IIS7.Что я должен сделать, чтобы он работал в IIS7?

1 Ответ

6 голосов
/ 20 июля 2010

Вам нужна еще одна строка, чтобы обойти захват IIS7 (на основе установленного вами кода ошибки 500):

Response.TrySkipIisCustomErrors = true;

Ссылка: HttpResponse.TrySkipIisCustomErrors

...