我有一台运行 IIS7 的 Win 2008 Server。有几个旧的 ASP 网站仍需要在此机器上运行。我启用了 ASP,直到昨天,这些网站都运行良好。
现在,当 ASP 站点连接到数据库时,我收到 500 错误。在日志中我有 8002801d。
到目前为止我发现的所有内容都引用了我没有的注册表项。
另一件奇怪的事情是……我发现一些关于让 IIS 向浏览器发送错误的信息在 IIS 管理器中显示一个 ASP 图标。我没有那个图标。我不知道我曾经有过。
更新
点击任何 ASP 页面都会导致错误,而不仅仅是连接到数据库的页面。
由于 ASP 图标丢失,需要修复,我决定删除 ASP 角色。它删除了应用程序开发下的所有内容。我没想到会这样!然后,我安装了应用程序开发下的所有内容并重新启动了服务器。
问题解决了。
如果不用像我那样做,就能知道哪里出了问题,并知道如何改正,那就太好了。
日志
#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2010-06-28 19:03:10
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-06-28 19:03:10 ::1 GET /max/ |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 500 0 0 304
2010-06-28 19:03:16 ::1 GET /BMI - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 301 0 0 9
2010-06-28 19:03:16 ::1 GET /BMI/ - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 200 0 0 408
2010-06-28 19:03:16 ::1 GET /BMI/Style.css - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:03:16 ::1 GET /BMI/logo.bmp - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:18:32 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 184
2010-06-28 19:23:32 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+(R1+1.6);+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 166
2010-06-28 19:24:05 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+InfoPath.2) 500 0 0 296
答案1
(自用户更新问题为已解决以来的通用提示)
将来,从发生问题的服务器点击有问题的页面(如果可能)。这将迫使 IIS7 提供更详细的信息来了解正在发生的事情。只要您启用了本地详细错误,您将看到一个包含大量详细信息的屏幕,而不仅仅是 HTTP 500。这可以向您显示接受请求的 ISAPI 提供程序。十有八九,这将向您显示正在发生的事情,并且故障会自行显现。
如果没有,请打开“失败请求日志记录”。当出现 500 类错误时,IIS 将转储其拥有的每一条数据。这很费劲,但如果您真的想知道,这是最好的方法。
答案2
查看站点时应该可以看到 ASP 图标...如果按类别排序,它位于“应用程序开发”下。仔细检查您是否安装了 ASP 角色服务...转到服务器管理器,您将在角色页面上看到 IIS 角色...有一个“角色服务”选项。
答案3
删除 ASP 角色。查看问题中的更新。如果您知道出了什么问题,请在此处发布。