IIS无法解析ASP的解决方法

来源:互联网 发布:常用的会计核算软件 编辑:程序博客网 时间:2024/04/30 02:44

在装完IIS5.0后,从WEB 服务器控制台或其他网络上的工作站浏览asp或html文件,WEB服务可能返回如下错误信息: HTTP 500  内部服务器错误.

步骤一:

你可以先在开始->运行中输入:services.msc

或者

控制版面->组件服务->启动 Distributed Transaction Coordinator (DTC)

如果提示无法启动,

则运行 msdtc -resetlog 然后就可以启动服务了。

 

步骤二: 打开命令提示符,转到文件夹%windir%/system32/inetsrv,执行命令:  

rundll32 wamreg.dll, CreateIISPackage

regsvr32 asptxn.dll

 

注意: CreateIISPackage是大小写敏感的,确人输入正确.

 

 步骤三:打开资源浏览器,工具->文件夹选项->查看(选项卡)->使用简单文件共享(推荐)(去掉该选项勾)

然后进入%windir%,点击temp文件夹右键属性,可以看见属性多了“安全”的选项卡,添加用户Everyone,

权限包括“读取”,“读取文件类型”,“列出文件目录”

就可以访问了。

 

-----------------------------

以下为全文,因为太多不必要的步骤,我总结出以上的最简单的做法

 

--------------------------------

windows2003遇到的问题:

 

windows 2003系统,iis配置好了(asp允许,启用父路径),就是无法解析asp的文件,即使是一个空的文件如果后缀名是asp,也无法解析,错误如下: 


您要访问的网页有问题,无法显示。 

--------------------------------------------------------------------------------

请尝试以下操作:

打开 **********  主页,然后查找指向您感兴趣信息的链接。 
单击刷新按钮,或以后再试。

HTTP 500 - 内部服务器错误 
Internet Explorer 

 

解决方法:

Internet信息服务IIS管理器-—WEB服务扩展--把ACTIVE SERVER PAGES改为允许

 
 

 

 

.如果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服务 ( msdtc -resetlog 然后就可以启动服务了。 )

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文件.

 

 

 

 

 

原创粉丝点击