Извините за смутное название, поскольку я действительно не могу кратко объяснить эту проблему.
В основном у меня Windows Server 2008 x64, IIS7, ASP.NET 2.05, и у меня есть сайт, работающий в Classic AppPool (и нет, я не могу работать в Integrated).
При попытке загрузить файл * .aspx в первый раз (т.е. после установки сайта, перезапуска сервера и т. Д.) Я получаю эту ошибку:
HTTP-ошибка 500.0 - внутренняя ошибка сервера
Невозможно отобразить страницу, поскольку произошла внутренняя ошибка сервера.
Модуль: IsapiModule
Уведомление: ExecuteRequestHandler
Обработчик: PageHandlerFactory-ISAPI-2.0-64
Код ошибки: 0x800710dd
Метод входа в систему: анонимный
Пользователь входа: Аноним
Обработчик является IIS7 по умолчанию:
<add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
Я даже попытался добавить в свой собственный обработчик aspx, который выглядел так:
<add name="aspx" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
Единственное, что было сделано, это изменило часть обработчика уведомления об ошибке на IsapiModule.
Странно, что эта ошибка возникает только в первый раз (или когда сервер простаивает в течение нескольких часов). Как только я вижу эту ошибку, если я обновляю страницу, все в порядке и снова модно.
Я даже пытался удалить файл web.config, и это абсолютно ничего не сделало.
Не могу найти ни одного ответа на эту проблему в Интернете.
Редактировать: Я включил отслеживание Failed Request, и это то, что он показывает:
MODULE_SET_RESPONSE_ERROR_STATUS
Предупреждение ModuleName = "IsapiModule", Notification = "EXECUTE_REQUEST_HANDLER", HttpStatus = "500", HttpReason = "Внутренняя ошибка сервера", HttpSubStatus = "0", ErrorCode = "Идентификатор операции недопустим.
(0x800710dd) ", ConfigExceptionInfo =" "
А прямо перед ошибкой показывает:
NOTIFY_MODULE_START ModuleName = "IsapiModule", Notification = "EXECUTE_REQUEST_HANDLER", fIsPostNotification = "false", fIsCompletion = "false"
Теперь, когда я сравниваю это с успешным прогоном, разница в том, что ошибка выдает MODULE_SET_REPONSE_ERROR_STATUS, тогда как успешный прогон не выдает (а затем выдает правильный вывод HTML).
Редактировать : Я взял простое приложение и попытался запустить его, и я получил ту же ошибку. Но когда приложение было в Интегрированном режиме, оно нормально работало ! К сожалению, я не могу перенести наше приложение на интегрированное по причинам, которые я не могу указать, но я сузил его до пула приложений. Кроме того, мне не нужно перезагружать сервер, чтобы воспроизвести ошибку, вместо этого подойдет переработка пула приложений.
Резюме:
- Как упоминалось ниже, в журналах событий нет ничего, что указывало бы на сбой. Я просмотрел все логи в Event Viewer