У меня есть Win 2008 Server с IIS7. Есть несколько старых сайтов ASP, которым еще нужно жить на этой коробке. Я включил ASP и сайты, на которых до вчерашнего дня все работало нормально.
Теперь, когда сайт ASP подключается к базе данных, я получаю ошибку 500. В журнале у меня 8002801d.
Все, что я нашел до сих пор, ссылается на ключи реестра, которых у меня нет.
Другая странность ... некоторая информация, которую я нашел о том, как заставить IIS отправлять ошибку в браузер, показывает значок ASP в диспетчере IIS. У меня нет этого значка. Я не знаю, что делал.
ОБНОВИТЬ
Нажатие на любую страницу ASP вызовет ошибку, а не только на тех, которые связаны с базой данных.
Поскольку значок ASP отсутствует и мне нужно исправить это, я решил удалить роль ASP. Он удалил все, что находится в разработке. Я этого не ожидал! Затем я установил все, что находилось в разработке, и перезагрузил сервер.
Задача решена.
Было бы неплохо узнать, что не так и как это исправить, не делая того, что сделал я.
ЖУРНАЛЫ
#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2010-06-28 19:03:10
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-06-28 19:03:10 ::1 GET /max/ |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 500 0 0 304
2010-06-28 19:03:16 ::1 GET /BMI - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 301 0 0 9
2010-06-28 19:03:16 ::1 GET /BMI/ - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 200 0 0 408
2010-06-28 19:03:16 ::1 GET /BMI/Style.css - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:03:16 ::1 GET /BMI/logo.bmp - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:18:32 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 184
2010-06-28 19:23:32 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+(R1+1.6);+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 166
2010-06-28 19:24:05 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+InfoPath.2) 500 0 0 296
(общие советы, так как пользователь обновил вопрос как решенный)
В будущем переходите на нужную страницу С сервера, на котором она выполняется (если возможно). Это заставляет IIS7 давать более подробное представление о том, что происходит. Пока у вас есть локальные подробные ошибки, вы получите экран с подробными сведениями, а не просто HTTP 500. Это может показать вам провайдер ISAPI, выполнивший запрос. 9 случаев из 10, которые покажут вам, что происходит, и провал проявит себя.
Если нет, включите «ведение журнала неудачных запросов». Затем IIS сбрасывает все имеющиеся у него данные при возникновении ошибки класса 500. Это утомительно, но если вы действительно хотите знать, это лучший способ.
Удалите роль ASP. Смотрите обновление в вопросе. Если вы знаете, что пошло не так, опубликуйте это здесь.
Значок ASP должен быть доступен при просмотре сайта ... он находится в разделе «Разработка приложений», если отсортирован по категориям. Дважды проверьте, что у вас установлена служба ролей ASP ... перейдите к диспетчеру серверов, и вы увидите роль IIS на странице ролей ... есть параметр «Службы ролей».