IIS突然不解析asp文件的处理步骤

来源:互联网 发布:导航端口与波特率 编辑:程序博客网 时间:2024/04/16 23:16
http://dev.csdn.net/article/36/36203.shtm
CSDN - 文档中心 - 网站制作技术
CSDN - 文档中心 - 网站制作技术   标题   IIS突然不解析asp文件的处理步骤     选择自 ajou 的 Blog 关键字   IIS突然不解析asp文件的处理步骤 出处  

原文出处:http://www.iisfaq.com/Default.aspx?tabid=3094
整理翻译:ajou

1.如果WEB站点目录下有Global.asa文件,改此文件文件名为Global.old.重启WEB服务,在记事本中写如下代码(原文中无代码,实际最简单的那种asp源码就行,译者注).文件另存为Test.asp于WEB根目录下.
如果asp文件能正常执行,问题就出在Global.asa上,如果依然不行,请转到第二步.
参阅如下微软知识库有关Global.asa文件出错的更多信息.

Q288245 PRB: Global.asa Does Not Fire from Personal Web Server on Windows 98
Q265275 FP2000: Global.asa Does Not Run in FrontPage Web
Q173742 FIX: Global.asa Is Not Executed If Restricting Web Access
 
2.将web站点的应用程序保护级别设置为"低",重启IISAdmin服务.如果asp文件如此能正常执行,说明问题出在IWAM用户上,请跳到第三步继续.如果没有正常执行,请在管理工具中检查组件服务确保能看到IIS Packages,确保组件服务没有失败后,确认本地用户组中有如下用户存在:
  • NT AUTHORITY/Authenticated Users
  • NT AUTHORITY/INTERACTIVE
    关于更多组件服务出错的信息,请参考入下知识文章:
    Q301919 PRB: Cannot Expand 'My Computer' in Component Services MMC Snap-In
  • 3.如果通过第二步asp文件能正常执行,将站点的应用程序保护级别设回"中"或"高",将IWAM用户添加到本地管理员用户组中,如果通过这步,asp文件能正常执行,说明IWAM用户的访问许可权限就存在问题,请跳到第四步,如果asp文件还没正常执行,请在命令提示符中执行Synciwam.vbs 工具.
    方法:打开命令提示符窗口敲入如下命令:
      C:/Inetpub/adminscripts>cscript synciwam.vbs.
    关于IWAM用户(设置不正确)导致asp文件不能正常执行,请参考入下知识库.
    Q308622 HOW TO: Perform Administration Tasks in IIS from a Command Prompt
    Q297989 PRB: Configured Identity Is Incorrect for IWAM Account
    Q255770 PRB: Logon Failure: Unknown User Name or Bad Password When You Run Out-of-Process Webs
    Q236007 Domain Controller Demotion Causes Out-of-Process Applications to Fail

    4.解决IWAM用户许可权限的问题,请使用windows 2000的第三方产品:Regmon 和 Filemon.请在http://www.sysinternals.com中下载这些工具.
    当你执行asp页面请求时运行这些工具, Dllhost.exe 进程在Regmon 中查找"ACCDENIED" (在Filemon中查找"FAILURE").
    注意:在IE进程出现"操作失败"时不要紧张,这只是普通现象.~~
    关于IIS功能正常运作所需的最小条件,请参阅知识库:
    Q271071 Minimum NTFS Permissions Required for IIS 5.0 to Work
    在看到Dllhost.exe 进程"操作失败"的错误信息后,用Regedit32工具修改注册表里任何必须的NTFS许可权限(好像是病句,,汗...)

    5.在装完IIS5.0后,从WEB 服务器控制台或其他网络上的工作站浏览asp或html文件,WEB服务可能返回如下错误信息:
    HTTP 500  内部服务器错误.
    默认的web服务可能处于运行状态,如果运行netstat -an 你可能注意到WEB服务器正监听TCP80端口,即HTTP的默认端口.
    注意:如果在使用IE5.0(或以上版本,译者注),你可能屏蔽了IE高级选项中的显示友好HTTP错误信息选项,更多信息:请参考微软知识库:
    Q218155 Description of Hypertext Transport Protocol Error Messages
    下面的几条可能出现在装有IIS5.0机器的事件日志中:

  • Application Log: COM+ error with Event ID 4099
  • System Log: W3SVC error with Event ID 59
  • System Log: W3SVC warning with Event ID 36.
    Iis5.log 文件(WINNT目录下)可能包含下面错误信息:
    0x8004e00f=COM+ was unable to talk to the Microsoft Distributed Transaction Coordinator
    你正试图打开com+管理者使用的组件服务,MMC停止响应.

    原因
    IIS5.0依赖与COM+,COM+依赖于Distributed Transaction Coordinator (DTC) 服务运行,DTC检查版本的机制(包括在windows 2000以前的SQL SERVER版本)不能识别Windows2000所用的版本属性,结果SQL SERVER的DTC安装程序移除了WINDOWS 2000安装的DTC服务,更多请查阅微软知识库:
    Q249310 BUG: Installing SQL Server on Windows 2000 Uninstalls DTC Service
    解决
    如下步骤解决这个问题:
    a.验证Dtcsetup.exe (默认在c:/Winnt/System32 下)是否为1999.9.3422.24 或以后版本号
    b.运行Dtcsetup.exe 安装DTC服务
    c.开始DTC服务
    d.控制面板中,双击"添加删除程序"
    e.选"添加删除Windows组件",移除IIS5.0再重新安装.

    现状
    微软已经确认在SQL Server versions 6.5 和 7.0 and MSDE  1.0中这会是个问题
    详细请参见文章:
    http://support.microsoft.com/default.aspx?scid=kb;en-us;Q257267

    6.最后一招:依照下面步骤自己创建IIS Packages
    a.浏览组件服务删除下列包
           a.IIS In-Process Applications
           b.IIS Out-of-Process Pooled Applications
           c.IIS Utilities
    b.打开命令提示符,转到文件夹%windir%/system32/inetsrv,执行命令:
            rundll32 wamreg.dll, CreateIISPackage
    注意:CreateIISPackage是大小写敏感的,确人输入正确.
    c.重新打开组件服务,你将看到IIS COM+应用已经重新创建了.
    d.从命令提示符中运行IISRESTART再测试之前没有正确执行的任何asp文件.

    <完>


  • 作者Blog:http://blog.csdn.net/ajou/
    原创粉丝点击