如何在 IIS 5.0 中排查 ASP 故障

      web 2005-11-13 15:55
support.microsoft.com/?id=309051
如何在 IIS 5.0 中排查 ASP 故障
注意:在开始之前,请确保在所讨论的 Web 服务器上打开了 .html 或 .htm 文件。如果这些文件未打开,则不属于 ASP 问题。 1. 如果 Global.asa 文件位于网站的根目录中,请将其重命名为 Global.old,停止并重新启动 Web 服务,然后在记事本中使用以下代码创建一个 ASP 测试页:<%
Response.Write "This is a test ASP page."
%>
                    
在您的网站的根目录中将该文件另存为 Test.asp,并尝试在 Web 服务器上打开该文件。

如果在执行该步骤后,Web 浏览器中加载了 ASP 页,则 Global.asa 文件存在问题。如果 ASP 页仍未加载,请接着执行步骤 2。

有关 Global.asa 文件故障排除方面的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
288245 (http://support.microsoft.com/kb/288245/) PRB:无法从 Windows 98 上的 Personal Web Server 中激发 Global.asa
265275 (http://support.microsoft.com/kb/265275/) FP2000:Global.asa 无法在 FrontPage 网站中运行
173742 (http://support.microsoft.com/kb/173742/) FIX:如果限制 Web 访问,将无法执行 Global.asa
2. 将网站的应用程序保护设置为低,然后停止并重新启动 IISAdmin 服务。如果在执行此步骤后 Web 浏览器中加载了 ASP 页,则 IWAM 帐户存在问题,您可以接着执行步骤 3。如果 ASP 页仍未加载,请检查管理工具中的组件服务以确保可以查看 IIS 程序包。这可确保组件服务没有故障。确保在本地用户组中存在以下用户:&#8226; NT AUTHORITY\Authenticated Users
&#8226; NT AUTHORITY\INTERACTIVE
有关组件服务管理单元故障排除方面的更多信息,请参阅以下知识库文章:
301919 (http://support.microsoft.com/kb/301919/) PRB:无法在“组件服务”MMC 管理单元中展开“我的电脑”
3. 如果在执行步骤 2 后 Web 浏览器中加载了 ASP 页,请将网站的应用程序保护级别重新设为中或高,并将 IWAM 帐户添加到本地管理员组中。如果在执行此步骤后 Web 浏览器中加载了 ASP 页,则存在与 IWAM 帐户有关的权限问题,您可以接着执行步骤 4。如果 ASP 页仍未加载,请从命令行运行 Synciwam.vbs 实用工具。为此,请打开命令提示窗口并键入 C:\Inetpub\adminscripts>cscript synciwam.vbs。 有关 IWAM 用户帐户导致 ASP 出现故障的情况的其他信息,请参阅下列知识库文章:
308622 (http://support.microsoft.com/kb/308622/) 如何在 Windows 2000 中从命令提示符执行 IIS 中的管理任务
297989 (http://support.microsoft.com/kb/297989/) PRB:为 IWAM 帐户配置的标识不正确
255770 (http://support.microsoft.com/kb/255770/) PRB:运行进程外 Web 时出现“Logon Failure:Unknown User Name or Bad Password”(登录失败:未知的用户名或错误密码)错误信息
236007 (http://support.microsoft.com/kb/236007/) 降级域控制器导致进程外应用程序失败
4. 要解决 IWAM 帐户的权限问题,请使用适用于 Windows 2000 的 Regmon 和 Filemon 第三方产品。要下载这些实用工具,请参见下面的网站:
www.sysinternals.com (http://www.sysinternals.com)
请在请求 ASP 页的同时运行这些实用工具,然后针对 Dllhost.exe 进程,在 Regmon 中搜索“ACCDENIED”,在 Filemon 中搜索“FAILURE”。

注意:如果对于 Iexplore.exe (Microsoft Internet Explorer) 进程,出现“access denied”(拒绝访问)错误信息,请不要惊慌。这是正常现象。

有关 IIS 正常运行所需的最小权限的更多信息,请参阅下列知识库文章:
271071 (http://support.microsoft.com/kb/271071/) 如何为 IIS 5.0 Web 服务器设置必需的 NTFS 权限和用户权限
在识别针对 Dllhost.exe 进程的“access denied”(拒绝访问)错误信息后,请使用 Regedt32 在注册表中对 NTFS 权限进行必要的修改。
5. 在系统事件日志中,查找以下事件:
Source:DCOM
Event ID: 10010
User:NT AUTHORITY\SYSTEM
Description:The server {3D14228D-FBE1-11D0-995D-00C04FD919C1} did not register with DCOM within the required timeout.
在事件日志中,该错误信息之后还有与下面内容类似的警告消息:
Source:W3SVC
Event ID: 36
User:N/A
Description:The server failed to load application 'AppPath'.The error was 'Server execution failed'.
%SystemRoot%\Iis5.log 文件中也可能出现与下面内容类似的条目:
OC_ABOUT_TO_COMMIT_QUEUE:Unreg iis_core:FindModules:FindProcessByNameW failed!
如果收到上述错误信息,则 NT AUTHORITY\Authenticated Users 或 NT AUTHORITY\INTERACTIVE 项已经被从用户组中删除。要解决该问题,请确保 Authenticated Users 和 INTERACTIVE 是该计算机的用户组的成员。

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
327153 (http://support.microsoft.com/kb/327153/) PRB:无法处理 ASP 页并且在系统日志中出现 DCOM 事件 10010
6. 实在迫不得已,您可以重新创建 IIS 程序包。为此,请按照下列步骤操作:a. 浏览至“组件服务”并删除下列程序包:注意:要删除这些程序包,必须首先打开程序包的属性,单击高级选项卡,然后单击以清除禁止删除复选框。

&#8226; IIS In-Process Applications
&#8226; IIS Out-of-Process Pooled Applications
&#8226; IIS Utilities

b. 打开命令提示窗口,然后使用以下命令切换目录:
cd %windir%\system32\inetsrv
c. 运行以下命令:
rundll32 wamreg.dll, CreateIISPackage
注意:必须准确键入“CreateIISPackage”;它区分大小写。
regsvr32 asptxn.dll
d. 关闭并重新打开“组件服务”。您应看到已经重新创建的所有这三个 IIS COM+ 应用程序。
e. 从命令行运行 IISRESET,并对先前未正确加载的任意 ASP 页进行测试。

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}