Я портирую некоторые старые приложения ASP / .Net на чистую сборку w2k8R2 под управлением IIS7. Старые приложения .Net и некоторые сторонние библиотеки DLL требуют включения 32-разрядного режима для пулов приложений, в которых они работают. Когда я это делаю, страницы ошибок (как настраиваемые, так и подробные) исчезают.
Браузеру возвращается правильный статус ошибки, но нет содержимого - только пустая страница. Это происходит независимо от пользовательских / подробных локальных / удаленных настроек функций для страниц с ошибками и независимо от того, используется ли локальный или удаленный браузер. Я не могу обнаружить никаких ошибок, просто на страницах нет содержимого.
Тот факт, что я нигде не могу найти никаких ссылок на эту проблему, заставляет подозревать, что это проблема, которую я представил ранее в сборке. Я не понимаю, как это сделать.
Кто-нибудь испытывал что-нибудь подобное?
Я не забрал свою сборку достаточно далеко. Виновником оказался старый файл GAHelper.dll, который я перенес из старой конфигурации. Кажется, это не очень хорошо работает с IIS7. Мы используем его на большинстве этих сайтов, поэтому я добавил его как фильтр ISAPI на верхнем уровне. Его удаление позволяет отображать ошибки должным образом.
Попробуйте установить existingResponse="PassThrough"
атрибут в вашем web.config
:
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>