IIS 7.5 上的 ASP 详细错误消息

IIS 7.5 上的 ASP 详细错误消息

我在 IIS 7.5 上运行一些(外部编写的) ASP 时遇到了真正的问题。

ASP 已设置好,并且我在文章中提到的两个地方启用了错误消息,例如http://weblogs.asp.net/nannetthethacker/archive/2009/01/09/enabling-asp-classic-error-messages-in-iis7-and-windows-web-server-2008.aspx,但我没有收到正确的错误消息。

举例来说,此 ASP 页面按预期运行(屏幕上显示“hello world”):

hello
<%
Response.Write "world"
%>

有趣的是,如果我强制编译错误,我会得到详细的错误:

hello
<%
Response.Write "world";
%>

生成:

Microsoft VBScript compilation error '800a0401' 
Expected end of statement 
/test.asp, line 3 
Response.Write "world";
----------------------^

但是,如果我更改代码以致于产生运行时错误,它就会默默失败:

hello
<%
Dim x: x = Int("hello world")
Response.Write "world"
%>

这将输出:

hello

即没有错误,没有“world”,什么都没有。在 Fiddler 中跟踪请求/响应显示它似乎就停止在这一点上。我在服务器上看不到任何记录错误的内容。

为这个问题苦恼了好一阵子——我就是不知道到底是什么导致了这个错误。

答案1

我找到了问题的原因。如果在应用程序池中将“启用 32 位应用程序”设置为 True,则不会收到运行时错误。将其设置为 False 会显示运行时错误。

相关内容