我们运行一个基于经典ASP的繁忙网站(出于各种遗留原因)。在繁忙时期,我们看到一个无法解释的错误,无法找到它的底部。它通过IIS 7触发我们的自定义500错误页面来显示。
在这个页面上,我们使用ASPError对象和err对象尽可能多地收集有关错误的详细信息。我们得到的是:
来自ASPError对象:
ASPCode:0
类别:
来源:
页:
说明
行:0
栏目:-1
在err对象中,err.Number,err.Source和err.Description都是空的。
我不知道是否要进一步查看IIS配置问题,应用程序池等,或者这是否是与代码相关的问题。
任何想法都非常感激!
答案 0 :(得分:0)
您可以创建一个简单的单独ASP页面来触发错误。例如:
<%
Option Explicit
a = 1
%>
浏览页面,看看会发生什么。如果您仍然没有错误信息,则可能是IIS配置。否则你可能会有一些非常奇怪的错误,但我过去从未见过。
答案 1 :(得分:0)
我的回复有点晚了,希望你现在已经解决了这个问题,这将只会帮助我们以后的其他人。
在IIS中,打开网站,然后打开“错误页面”功能。从右侧选择“编辑功能设置...”并更改为“详细错误”。刷新抛出错误的页面,您应该看到正在发生的真实错误。
我有2个错误可能导致此错误:缺少数据库提供程序并使用Option Explicit和未声明的变量。
希望这有助于某人!
答案 2 :(得分:0)
在IIS7及更高版本中,有一个错误,只有默认错误处理程序才能获得完整的错误详细信息 - 如果从为特定错误代码配置的自定义错误页面调用Server.GetLastError(),则所有内容都会返回空白。
http://dylanbeattie.blogspot.com/2008/12/fun-with-servergetlasterror-in-classic.html