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) 一键修复。保证搞定。
最新评论