Страница пользовательских ошибок IIS7 через URL-адрес выполнения - PullRequest
0 голосов
/ 20 декабря 2011

В IIS7 у меня настроена настраиваемая страница ошибок (reportError.asp) для обработки кода состояния 500, действие ответа установлено на «Выполнить URL». Эта страница (reportError.asp) сообщает подробности об ошибке asp, вызывая библиотеку COM, которая, в свою очередь, извлекает объект последней ошибки asp (и другие, такие как запрос, ответ, сеанс) и генерирует подробный отчет об ошибке. Все правильно работает в IIS6.

В сформированном IIS7 отчете содержатся сведения, относящиеся к странице reportError.asp, а не к исходной странице, где произошла ошибка, т. Е. Переменная сервера PATH_TRANSLATED содержит путь к файлу reportError.asp, а не к исходному файлу, номера ошибок и описания пусты. Похоже, что IIS7 использует другой метод передачи управления на пользовательскую страницу ошибки.

Что я заметил в сгенерированном отчете, что переменная строки запроса содержит следующее значение: 500; [здесь полный URL исходной страницы] что заставляет меня думать, что IIS7 делает некоторое внутреннее перенаправление на пользовательскую страницу ошибки и передает исходную страницу в виде строки запроса для справки, в то время как в IIS6 она обрабатывается другим способом.

Кто-нибудь знает об изменении поведения в этой области IIS7 по сравнению со II6?

1 Ответ

0 голосов
/ 22 декабря 2011

Пользовательская страница обработки ошибок для приложений ASP должна быть настроена на 500.100 кодов состояния. Если задано только 500 кодов состояния, страница выполняется, но контекст ошибки ASP недоступен.

...