我正在将一些旧的 ASP/.Net 应用程序移植到运行 IIS7 的 w2k8R2 的全新版本。较旧的 .Net 应用程序和一些第三方 dll 需要为它们运行的应用程序池启用 32 位模式。当我执行此操作时,错误页面(自定义和详细)都会消失。
浏览器返回了正确的错误状态,但没有内容 - 只有一个空白页。无论错误页面的自定义/详细本地/远程功能设置如何,也无论使用的是本地还是远程浏览器,都会发生这种情况。我没有检测到任何错误,只是页面中没有内容。
事实上,我找不到任何关于这个问题的参考资料,这让我怀疑这是我在构建早期引入的问题。但我不明白为什么。
有谁经历过类似的事情吗?
答案1
我没有将我的构建回溯得足够远。罪魁祸首原来是我从旧配置移植过来的旧 GAHelper.dll。它似乎与 IIS7 配合得不太好。我们在大多数这些网站上都使用它,所以我将它添加为顶级 ISAPI 过滤器。删除它可以让错误按预期显示。
答案2
尝试existingResponse="PassThrough"
在您的中设置属性web.config
:
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>