IIS 7.5 Classic ASP Обработка ошибок отличается от IIS 6 - PullRequest
4 голосов
/ 16 ноября 2010

Мы находимся в процессе миграции приложения ASP Classic / ASP.NET с IIS 6 на IIS 7.5. Большинство вещей работает нормально в классическом режиме, но у нас много проблем с обработкой ошибок IIS 7.5. Мы создаем наши отчеты об ошибках, используя классическую страницу ASP, где мы фиксируем здесь информацию об ошибках, а затем перенаправляем на страницу для отображения ошибки. На основании нашего тестирования Server.GetLastError и Request.ServerVariables("SCRIPT_NAME") при доступе со страницы регистрации не возвращают подробности ошибки и источник. Существуют ли другие способы получения информации об ошибках в IIS 7.5 или ведения журнала?

В случае, если это помогает, используя freb, мы заметили, что IIS, по-видимому, генерирует совершенно новый запрос, а затем начинает выполнять захват ошибок.

Заранее спасибо.

1 Ответ

3 голосов
/ 16 ноября 2010

@ smaclell: см. http://dylanbeattie.blogspot.com/2008/12/fun-with-servergetlasterror-in-classic.html для потенциального решения для вас.

Вот соответствующий абзац из статьи:

Была очень похожая известная ошибка в Vista, которая предположительно была исправлена в SP1, но похоже, что то же самое исправление не является частью Windows 2008 Сервера пока нет. Однако, есть обходной путь - если вы установите сайт свойство ошибки по умолчанию (в настройках IIS -> Страницы ошибок -> Изменить Настройки функций ...) на пользовательскую страницу, IIS будет вызывать эта страница всякий раз, когда ошибка не обрабатывается явно настроенным обработчик кода состояния (так что ваши обработчики 404 и т. д. все еще будут работать) - но по какой-то причине обработка ошибки таким способом означает Server.GetLastError () по-прежнему работает правильно.

...