ASP常见错误详解及解决方案小结 推荐第2/2页

 更新时间:2011年01月23日 23:32:25   作者:  
ASP是非常简单的,以至于许多的开发者不会去思考错误处理。错误处理能够让你的应用程序更加合理。我看到过很多个用ASP编写的商业网站,大多数都忽略了错误处理。 错误的类型。

错误之一:不能在浏览器端显示调试信息,只显示HTTP 500错误。

  不出意外的话,只要你开发过Asp程序,绝对会出现这样的错误。出现这样的错误也不要紧,毕竟可以根据浏览器上面显示的错误原因进行解决。但是在Windows 2003 Server + IIS 6.0 下面就只报告“内部服务器错误”,没有具体的信息,让人郁闷的不行。一般来说可以通过如下的配置让IIS启动调试ASP程序(标红的选项打勾),具体见见图1,图2。要出现此配置项,在IIS中你发布的网站(一般为默认网站)上单击右键,选择属性,在弹出的选项中,点主目录,点配置按钮就可以出现如图1,图2的选项。

图1 启用父路径

图2 启用ASP程序调试

  但是很奇怪的是做了这些修改之后,浏览器还是不能正常显示错误信息。一直以为这个是IIS服务器的问题,最后通过多方查找资料,终于发现是Internet Explore的问题。通过作如下的配置就可以正常显示了(按标红的选项修改,默认的勾和下面的图片显示刚好相反)。具体点击Internet Explorer—工具—Internet选项就可出现如下选项页:

图3 Internet 选项配置

  做了以上的修改之后,一般来说就可以正常显示错误信息了,调试错误时也方便了很多。想我以前在调试时,不知道为什么不能显示出错信息时,只能郁闷的去看日志。。。。。。,那个痛苦啊!

如果运行asp页面出现下面的错误提示

出现:
Active Server Pages 错误 'ASP 0201'

无效的默认脚本语言

为此应用程序指定的默认脚本语言无效。

IIS出现Active Server Pages错误'ASP 0201'的修复工具
2007-05-12 19:08

IIS提示:
Active Server Pages 错误 'ASP 0201'
默认脚本语言无效
为该应用程序指定的默认脚本语言无效。

网上收集的方法有:
方法一
在运行里面regsvr32 /u scrrun.dll
regsvr32 scrrun.dll
另,如果还是不行,可以试试把iis卸载,然后把wwwroot目录删除,重新安装IIS.

方法二
1、删除“internet信息服务”,
2、重启机子,按F8进入“安全模式”,
3、在安全模式下将“C:\Inetpub”、“c:\windows\iis6.log”、“c:\windows\system32\inetsrv”这几个东西重命名。
4、重启机子,在正常模式下安装“internet信息服务”,安装完毕删除重命名文件。
5、如果还不能解决问题,打开“internet信息服务”,“重新启动IIS”。

方法三 ( 这个实践过 OK!)
1、单击开始,指向程序,指向管理工具,然后单击 Internet 信息服务。
2、在控制台树中,单击默认 Web 站点。在显示窗格中,右键单击 默认 Web 站点,然后单击属性。
3、在目录安全性选项卡的匿名访问和身份验证控制中,单击编辑。
4、在身份验证方法属性页中,单击去掉匿名访问的勾。

====================

这是一个相当普通的asp错误,一般是由以下原因造成:
在我们使用多种方式去解决这个问题之前,让我们看一下这个错误本身.
像完整的错误消息?任何一个可能导致这个问题的原因都会使我们得到如下消息:


Active Server Pages 错误 'ASP 0201'
错误无效的默认脚本语言
该应用程序地应的默认脚本语言无效

这错误通常是由IIS不识别的"不支持的脚本语言"引起的.现在怎么修复它呢?
尝试以下步骤:

1.确认在IIS中定义了合适的脚本语言.(进入IIS管理-选中站点-属性-主目录-配置-选项-默认ASP语言),确认默认ASP语言设置为 VBscrīpt(默认)或Jscrīpt(如果你更喜欢Javascrīpt脚本)

2.注意如果你的代码中首行含有<%Language="language"%>将覆盖上边的设置,所以仔细检查以保证你没有拼写错误.它应该是<%Language="VBscrīpt"%>

3.有时,脚本引挚不完整的DLL注册也会造成这个问题,请下载最新版的脚本引挚试试。

4.现在,我们需要确认在安装脚本引挚时没有注册某些DLL文件,例如,你可以按以下方式去尝试注册DLL:
regsvr32 %windir%\system32\VBscrīpt.dll
regsvr32 %windir%\system32\Jscrīpt.dll
regsvr32 %windir%\system32\Inetsrv\Asp.dll


5.继续,如果你到此还没有解决这个问题,那看起来像是许可权引起了该问题.
 例如:使匿名用户访问网站的 iusr_计算机名 这个用户没有相关DLL的读权限,可以尝试将(4)中的DLL文件给匿名用户赋予读取权限.

6.下一步,如果你还是看到同样的错误,你需要尝试按另外的步骤以确保相关的权限正确.参考以下文件:
 IIS 4 - IIS 4所需要的用户和NTFS权限(http://support.microsoft.com/?id=187506)IIS 5 - 怎样为IIS5设置所需要的用户及NTFS权限(http://support.microsoft.com/?id=271071)IIS 6 - IIS6.0默认的用户及NTFS权限(http://support.microsoft.com/?id=812614)

7.如果你严格按照上边的步骤来做,应该不会再看到这个错误,除非你在上边的步骤中遗忘了某些配置.你可以临时将 iusr_计算机名 这个用户加入本地管理员组.注意,这只是为了查找问题,当问题解决后你绝对不能将匿名用户加入管理员组.
 如果加入管理员组后问题已经解决.可以肯定这是因为权限问题,请按上边的步骤再次检查权限设置.如果还是没有解决,请将匿名用户从管理员组删除后再请教其它相关专业技术人员.

如果还是无法解决问题。下这个软件运行(IIsfixer) 一键修复。保证搞定。

相关文章

最新评论