Классический ASP всегда возвращает код 200 в IIS7 - PullRequest
2 голосов
/ 03 марта 2009

Я включил трассировку в IIS7. Я установил для этих свойств значение true на вкладке ASP инструмента управления IIS:

  • appAllowClientDebug,
  • appAllowDebugging,
  • errorsToNTLog,
  • scriptErrorSentToBrowser;

Чтобы проверить это, я написал небольшую классическую тестовую страницу ASP, в которую я добровольно включил ошибку (плохое имя activeX)

Моя тестовая страница asp отображается до тех пор, пока не будет достигнута строка ошибки. Остальная часть страницы не отображается. Я ожидал 500 кодов ошибок, но код всегда 200. В папке FailedReqLogFiles нет файла ошибок.

Есть идеи у кого-нибудь?

Ответы [ 4 ]

3 голосов
/ 16 марта 2009

ОК, я думаю, что проблема на самом деле с Включить отладку на стороне сервера . Возможно, вы включили его, но вы должны вместо этого отключить .

Сервер считает, что должен начать отладку, и пытается запустить отладчик, а затем не находит его и просто сдается! Я уверен, что этого не было до IIS7.

2 голосов
/ 18 сентября 2009

Мрачное утро,

Эта проблема значительно замедляла нашу разработку, поскольку ошибки сервера sql не отображались в браузере. Наш поставщик услуг приложений попробовал некоторые настройки, но не смог заставить его работать. Они прислали мне настройки, и я случайно сделал сразу две, и наша проблема была решена. Они сказали мне, что asp давал код возврата 200 вместо кода ошибки.

Вот что у нас сработало:

Комбинация «Отправить в браузер = True» и «Включить отладку на стороне сервера» = False »работает.

Надеюсь, это поможет другим.

Том Армстронг

0 голосов
/ 09 марта 2009

Произошла такая же ошибка IIS7. Это не возвращало никакой ошибки. На экране не было ни сообщения об ошибке, ни 500. Страница просто перестала отображаться.

Это то, что вы видите? Я не могу вспомнить, что это было, к сожалению, я думаю, что это было похоже на то, как что-то обрабатывало ошибку. (Если это то, что вы видите, я буду пытаться вспомнить!)

Не думаю, что это так, но это может быть так: перейдите на страницу «Ошибки»> «Редактировать настройки функций» (скрыта на правой панели) и выберите «Подробная ошибка» Эта настройка также обязательна, и вы ее не упомянули.

0 голосов
/ 03 марта 2009

Посмотрите на это и посмотрите, не мешает ли это вам получить ошибку 500. Кроме того, если ошибка обрабатывается с помощью обработчика исключений в ActiveX, вы можете не увидеть ошибку в ответе asp.

http://classicasp.aspfaq.com/general/why-do-i-get-a-500-internal-server-error-for-all-asp-errors.html

200 OK - это стандартный ответ для успешных HTTP-запросов. Код состояния указывает на то, что запрос клиента был успешно получен, понят и принят.

...