В 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?