Назад | Перейти на главную страницу

включение 32-разрядных приложений в IIS 7 в 64-разрядной версии Windows 2008 R2 приводит к нарушению страниц ошибок

Я портирую некоторые старые приложения ASP / .Net на чистую сборку w2k8R2 под управлением IIS7. Старые приложения .Net и некоторые сторонние библиотеки DLL требуют включения 32-разрядного режима для пулов приложений, в которых они работают. Когда я это делаю, страницы ошибок (как настраиваемые, так и подробные) исчезают.

Браузеру возвращается правильный статус ошибки, но нет содержимого - только пустая страница. Это происходит независимо от пользовательских / подробных локальных / удаленных настроек функций для страниц с ошибками и независимо от того, используется ли локальный или удаленный браузер. Я не могу обнаружить никаких ошибок, просто на страницах нет содержимого.

Тот факт, что я нигде не могу найти никаких ссылок на эту проблему, заставляет подозревать, что это проблема, которую я представил ранее в сборке. Я не понимаю, как это сделать.

Кто-нибудь испытывал что-нибудь подобное?

Я не забрал свою сборку достаточно далеко. Виновником оказался старый файл GAHelper.dll, который я перенес из старой конфигурации. Кажется, это не очень хорошо работает с IIS7. Мы используем его на большинстве этих сайтов, поэтому я добавил его как фильтр ISAPI на верхнем уровне. Его удаление позволяет отображать ошибки должным образом.

Попробуйте установить existingResponse="PassThrough" атрибут в вашем web.config:

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>