查看ASP详细错误提示信息的图文设置方法
IIS中使用ASP页面时出现500错误
IIS中使用ASP页面时出现500错误.首先:打开IE的设置:工具---internet选项-----高级------去掉“显示友好的HTTP错误”前的小勾,再运行一下看看具体的错误!同时建议大家在测试ASP时,去掉“显示友好的HTTP错误”前的小勾,光一个500错误是说明不了问题的。
A:安装了IIS Lockdown2.1 工具然而新的问题出现了,每当用户访问ASP页面时,就会出现500的错误,而显示文本页面则没有类似的问题,一开始以为只是程序的问题,于是在站点根目录下创建一空白文本文件,改名为ASP文件,依然出现500的错误。
感觉到IIS Lockdown的可能性最大,所以我首先把重点放到了它的配置上,打开站点->主目录->应用程序配置->应用程序映射后看到.asp 文件映射无误(asp.dll)。
检查日志时发现,dllhost.exe的进程(IIS进程)不能启动,而dllhost.exe 是由IWAM_computername 来控制的,所以再次打开“计算机管理”,查看IWAM_computername用户是否被锁定,如果帐户被锁定了,取消锁定,就可以可以正常浏览ASP程序了。
B.WINDOWS 2003 IIS6ASP页面出现500错误(一)更改Active Directory中IWAM_MYSERVER账号的密码因IWAM账号的密码由系统控制,随机产生,我们并不知道是什么,为完成下面两步的密码同步工作,我们必须将IWAM账号的密码设置为一个我们知道的值。
1、选择“开始”->“程序”->“管理工具”->"Active Directory用户和计算机",启动“Active Directory用户和计算机”管理单元。
2、单击“user”,选中右面的“IWAM_MYSERVER”,右击选择“重设密码(T)...”,在跳出的重设密码对方框中给IWAM_MYSERVER设置新的密码,这儿我们设置成“Aboutnt2001”(没有引号的),确定,等待密码修改成功。
基础知识:ASP错误提示大全
基础知识:ASP错误提示大全MicrosoftVBScript?运行时错误(× A B )–>对象不支持此属性或方法MicrosoftVBScript?运行时错误(× A B )–>Automation?操作错误MicrosoftVBScript?运行时错误(× A BD)–>对象不支持此操作?MicrosoftVBScript?运行时错误(× A BE)–>对象不支持已命名参数MicrosoftVBScript?运行时错误(× A BF)–>对象不支持当前区域设置MicrosoftVBScript?运行时错误(× A C )–>未找到已命名参数MicrosoftVBScript?运行时错误(× A C )–>参数是必选项MicrosoftVBScript?运行时错误(× A C )–>错误的参数个数或无效的参数属性值MicrosoftVBScript?运行时错误(× A C )–>对象不是一个集合MicrosoftVBScript?运行时错误(× A C )–>未找到指定的?DLL?函数MicrosoftVBScript?运行时错误(× A C )–>代码资源锁定错误MicrosoftVBScript?运行时错误(× A CA)–>变量使用了一个?VBScript?中不支持的?Automation?类型MicrosoftVBScript?运行时错误(× A CE)–>远程服务器不存在或不可用MicrosoftVBScript?运行时错误(× A E )–>无效图片MicrosoftVBScript?运行时错误(× A F )–>变量未定义MicrosoftVBScript?运行时错误(× A F )–>非法赋值MicrosoftVBScript?运行时错误(× A F )–>对象不能安全地使用?Script?编程MicrosoftVBScript语法错误(× A FE)–>缺少? SelectMicrosoftVBScript语法错误(× A FF)–>缺少表达式MicrosoftVBScript语法错误(× A )–>缺少语句MicrosoftVBScript语法错误(× A )–>语句未结束?MicrosoftVBScript语法错误(× A )–>缺少整型常数?MicrosoftVBScript语法错误(× A )–>缺少?While ?或?UntilMicrosoftVBScript语法错误(× A )–>缺少? While ? Until ?或语句未结束MicrosoftVBScript语法错误(× A )–>缺少? WithMicrosoftVBScript语法错误(× A )–>标识符过长MicrosoftVBScript语法错误(× A )–>无效数字MicrosoftVBScript语法错误(× A )–>无效字符MicrosoftVBScript语法错误(× A )–>未结束的字符串常量MicrosoftVBScript语法错误(× A A)–>注释未结束MicrosoftVBScript语法错误(× A D)–>无效使用? Me ?关键字MicrosoftVBScript语法错误(× A E)–>loop ?语句缺少?doMicrosoftVBScript语法错误(× A F)–>无效的? exit ?语句MicrosoftVBScript语法错误(× A )–>循环控制变量? for ?无效MicrosoftVBScript语法错误(× A )–>名称重定义MicrosoftVBScript语法错误(× A )–>必须是行中的第一个语句MicrosoftVBScript语法错误(× A )–>不能为?non ByVal?参数赋值MicrosoftVBScript语法错误(× A )–>调用子程序时不能使用括号MicrosoftVBScript语法错误(× A )–>缺少文字常数MicrosoftVBScript语法错误(× A )–>缺少? InMicrosoftVBScript语法错误(× A )–>缺少? ClassMicrosoftVBScript语法错误(× A )–>必须在一个类的内部定义MicrosoftVBScript语法错误(× A )–>在属性声明中缺少?Let??Set?或?GetMicrosoftVBScript语法错误(× A A)–>缺少? PropertyMicrosoftVBScript语法错误(× A B)–>在所有属性的规范中变量的数目必须一致MicrosoftVBScript语法错误(× A C)–>在一个类中不允许有多个缺省的属性/方法MicrosoftVBScript语法错误(× A D)–>类的初始化或终止程序没有参数MicrosoftVBScript语法错误(× A E)–>属性的?set?或?let?必须至少有一个参数MicrosoftVBScript语法错误(× A F)–>错误的? NextMicrosoftVBScript语法错误(× A )–> Default ?只能在? Property ?? Function ?或? Sub ?中指定?MicrosoftVBScript语法错误(× A )–>指定? Default ?时必须同时指定? Public ?)MicrosoftVBScript语法错误(× A )–>只能在?Property?Get?中指定? DefaultMicrosoftVBScript?运行时错误(× A )–>无效的过程调用或参数MicrosoftVBScript?运行时错误(× A )–>溢出MicrosoftVBScript?运行时错误(× A )–>内存不足MicrosoftVBScript?运行时错误(× A )–>下标越界MicrosoftVBScript?运行时错误(× A A)–>该数组为定长的或临时被锁定MicrosoftVBScript?运行时错误(× A B)–>被零除MicrosoftVBScript?运行时错误(× A D)–>类型不匹配MicrosoftVBScript?运行时错误(× A E)–>字符串空间不够MicrosoftVBScript?运行时错误(× A )–>不能执行所需的操作MicrosoftVBScript?运行时错误(× A C)–>堆栈溢出MicrosoftVBScript?运行时错误(× A )–>未定义过程或函数MicrosoftVBScript?运行时错误(× A )–>加载?DLL?时出错MicrosoftVBScript?运行时错误(× A )–>内部错误MicrosoftVBScript?运行时错误(× A )–>错误的文件名或号码MicrosoftVBScript?运行时错误(× A )–>文件未找到MicrosoftVBScript?运行时错误(× A )–>错误的文件模式MicrosoftVBScript?运行时错误(× A )–>文件已经打开?MicrosoftVBScript?运行时错误(× A )–>设备?I/O?错误MicrosoftVBScript?运行时错误(× A A)–>文件已存在MicrosoftVBScript?运行时错误(× A D)–>磁盘已满MicrosoftVBScript?运行时错误(× A E)–>输入超出了文件尾MicrosoftVBScript?运行时错误(× A )–>文件过多MicrosoftVBScript?运行时错误(× A )–>设备不可用MicrosoftVBScript?运行时错误(× A )–>没有权限MicrosoftVBScript?运行时错误(× A )–>磁盘没有准备好MicrosoftVBScript?运行时错误(× A A)–>重命名时不能带有其他驱动器符号MicrosoftVBScript?运行时错误(× A B)–>路径/文件访问错误MicrosoftVBScript?运行时错误(× A C)–>路径未找到MicrosoftVBScript?运行时错误(× A B)–>对象变量未设置MicrosoftVBScript?运行时错误(× A C)–>For?循环未初始化MicrosoftVBScript?运行时错误(× A E)–>无效使用?Null MicrosoftVBScript?运行时错误(× A )–>不能创建所需的临时文件MicrosoftVBScript?运行时错误(× A A )–>缺少对象MicrosoftVBScript?运行时错误(× A AD)–>ActiveX?部件不能创建对象MicrosoftVBScript?运行时错误(× A AE)–>类不能支持?Automation?操作MicrosoftVBScript?运行时错误(× A B )–>Automation?操作中文件名或类名未找MicrosoftVBScript?运行时错误(× A B )–>对象不支持此属性或方法MicrosoftVBScript?运行时错误(× A B )–>Automation?操作错误MicrosoftVBScript?运行时错误(× A BD)–>对象不支持此操作?MicrosoftVBScript?运行时错误(× A BE)–>对象不支持已命名参数MicrosoftVBScript?运行时错误(× A BF)–>对象不支持当前区域设置MicrosoftVBScript?运行时错误(× A C )–>未找到已命名参数MicrosoftVBScript?运行时错误(× A C )–>参数是必选项MicrosoftVBScript?运行时错误(× A C )–>错误的参数个数或无效的参数属性值MicrosoftVBScript?运行时错误(× A C )–>对象不是一个集合MicrosoftVBScript?运行时错误(× A C )–>未找到指定的?DLL?函数MicrosoftVBScript?运行时错误(× A C )–>代码资源锁定错误MicrosoftVBScript?运行时错误(× A CA)–>变量使用了一个?VBScript?中不支持的?Automation?类型MicrosoftVBScript?运行时错误(× A CE)–>远程服务器不存在或不可用MicrosoftVBScript?运行时错误(× A E )–>无效图片MicrosoftVBScript?运行时错误(× A F )–>变量未定义MicrosoftVBScript?运行时错误(× A F )–>非法赋值MicrosoftVBScript?运行时错误(× A F )–>对象不能安全地使用?Script?编程MicrosoftVBScript?运行时错误(× A F )–>对象不能安全初始化MicrosoftVBScript?运行时错误(× A F )–>对象不能安全创建MicrosoftVBScript?运行时错误(× A F )–>无效的或无资格的引用MicrosoftVBScript?运行时错误(× A FA)–>类没有被定义MicrosoftVBScript?运行时错误(× A FB)–>出现一个意外错误MicrosoftVBScript?运行时错误(× A )–>缺少常规表达式对象MicrosoftVBScript?运行时错误(× A )–>常规表达式语法错误MicrosoftVBScript?运行时错误(× A A)–>错误的数量词MicrosoftVBScript?运行时错误(× A B)–>常规表达式中缺少? ]MicrosoftVBScript?运行时错误(× A C)–>常规表达式中缺少?)MicrosoftVBScript?运行时错误(× A D)–>字符集越界MicrosoftVBScript?运行时错误(× A B)–>未找到元素?ActiveServerPages ASP (× )–>找不到包含文件MicrosoftOLEDBProviderforODBCDrivers(× E )–>sql语句出错(字段名错误或数据类型不匹配)MicrosoftOLEDBProviderforODBCDrivers(× E )–>sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)MicrosoftOLEDBProviderforODBCDrivers(× E )–>sql语句出错(要插入或更新的数据溢出)MicrosoftOLEDBProviderforODBCDrivers(× E )–>sql语句出错(update字段名或要更新的数据类型错误)MicrosoftOLEDBProviderforODBCDrivers(× )–>sql语句出错(要插入或更新的字段的数值不能为空值)MicrosoftOLEDBProviderforODBCDrivers(× )–>打开数据库出错没有在指定目录发现数据库MicrosoftOLEDBProviderforODBCDrivers(× E )–>没有发现表ODBCDrivers(× E )–>sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态或不存在于conn打开的数据库中)ADODB Recordset(× A BB )–>sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)ADODB Recordset(× A CC )–>rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)ADODB Recordset(× A BCD)–>rs对像出错(记录集中没有记录却对记录集进行操作)ADODB Recordset(× A E )–>rs对像出错(记录集不存在缺少rs open语句)ADODB Recordset(× A CC )–>rs对像出错(引用了一个不存在的字段名)ADODB Recordset(× A E D)–>conn定义错误ADODB Recordset(× A CB )–>数据库以只读方式打开无法更新数据?lishixinzhi/Article/program/net/201311/13838。
ASP程序执行时网页显示乱码或问号的解决方法
ASP文件执行时出现乱码或问号的解决方法推荐*****在数据提取页面的第一行代码换成如下代码即可:(类似conn.asp)<% @language=vbscript codepage=936%>1.若是html文件(.htm .html):在<head></head>中加上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />2.若是PHP/cgi文件(.php .php3 .php4):在每个PHP文件第一行加上<?header("content-Type: text/html; charset=utf-8"; ?>3.若是asp文件(.asp .jsp):下面言归正传,说说asp源文件在国外服务器上中文问题的解决办法:1.首先,把您的asp源文件放在IIS 里进行全面测试,调用每一项功能,确认它完全能够使用,并正确显示中文,并打开*.mdb 数据库文件查看中文显示是否正常。
全部通过后,做好备份文件,即可执行第二步。
2.如果,您根本不懂asp 的话,最简单的方法是:打开所有*.asp 文件,并在第一行插入<% @language=vbscript codepage=936%>,例外情况:①,如果第一行是以<%@ LANGUAGE="VBs cript" %> 开头,则把第一行改为:<%@ codepage="936" LANGUAGE="VBs cript" %>②,如果第一行是以<html> 或<script LANGUAGE="javas cript">开头,则不加入。
ASP中数据库调用时常见错误的现象和解决
下面是虚机维护中,经常碰到的一些ASP程序中的数据库调用的错误,现收集整理如下:ADODB.Recordset 错误 '800a0bb9'变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。
产生错误可能原因:1.这个错误多出现在类似语句处:“rs.Open sql,conn,1,1”,原因是数据库连接conn对象未打开。
――――――――――――――――――――――――――――――――――――不能打开注册表关键字(8007000e)Microsoft OLE DB Provider for ODBC Drivers 错误 '8007000e'[Microsoft] [ODBC Microsoft Access Driver]常见错误不能打开注册表关键字'Temporary (volatile) Jet DSN for process 0x11b4 Thread 0x1a4c DBC 0x9d34354 Jet'。
产生错误可能原因:1.打开数据库时写法不对,标准的ACCESS数据库调用写法:"driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.MDB")2. 正在上传数据库文件。
――――――――――――――――――――――――――――――――――――参数不足,期待是 1 (80040e10)Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
产生错误可能原因:1.打开数据的SQL查询语句WHERE后面条件子句有问题,一般是缺少逻辑比较符号或者是字段名不正确。
winASP显示500内部错误不能显示详细错误的解决方法
winASP显示500内部错误不能显示详细错误的解决方法
win2008 ASP显示500内部错误不能显示详细错误的解决方法在win2008系统中,有用户遇到这样的情况:网站后台显示500内部错误,但是却无法打开详细的错误信息。
无法查看详细的错误信息,用户就不能根据具体问题来解决了,这是一件很麻烦的事情。
其实用户可以通过修改win2008系统中的IIS设置来显示这个详细的错误信息。
一、造成500错误常见原因有:
ASP语法出错、ACCESS数据库连接语句出错、文件引用与包含路径出错、使用了服务器不支持的组件如FSO等。
二、让IE显示详细的`出错信息:
菜单--工具--Internet选项--高级--显示友好的HTTP错误信息,去掉这个选择吧,然后刷新出错页,就可以看到详细的出错信息!
三、设置IIS显示详细错误信息:
1.打开IIS,点全局设置中的"错误页"(注意必须是全局网站!)
2.点右上角的编辑功能设置.
2.在错误响应中,选第二项的"详细错误"
3.点确定后刷新IE就会显示详细的出错信息。
在win2008系统下,造成500内部错误不能显示详细的错误信息的原因有很多种,用户可以根据上述介绍的方法让详细的错误信息显示出来才能针对具体原因进行问题的解决。
ASP运行中常见的错误类型与解决方法
ASP运行中常见的错误类型与解决方法asp建站可能会遇到了很多问题,想想大家可能也会遇到这类的问题,在网上也找了一些资料,来和大家一起分享,有些是经历过的,有些是网上给予来的,还希望大家能一起来研究和讨论,有不足的,一起来填补。
错误类型如下:错误类型:ADODB.Field (0x800A0BCD)BOF 或EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
原因:你在利用SQL查找数据库的记录时,查找结果为空,而且你没有对空记录的情况做出处理。
解决:1 如果你不相信查找结果为空,那你应该考虑你的SQL语句是否正确;2 如果确实有空的情况,那你应该添加"if rs.eof then"或者"do while not rs.eof"之类的语句,对eof 的情况进行处理。
错误类型:(0x80020009)发生意外。
原因:也是在利用SQL查找数据库记录时,查找结果为空,而且你在后面的代码中调用了rs("aa")之类的记录解决:要么同上,加上rs.eof的判断和处理,要么就是你的SQL语句有误,导致记录查不出来,也就无法在后来使用rs("aa")的记录了。
错误类型:Active Server Pages, ASP 0126 (0x80004005)找不到包含文件'xxx.asp'。
原因:就如错误提示所说,不存在这个包含文件。
解决:如果你确定有这个文件,那么就是你的路径写错了,比如说其实他相对于网站根目录的路径应该是inc/xxx.asp,那么include里面就应该写inc/xxx.asp,而不仅仅是xxx.asp。
附:include的写法是:错误类型:Microsoft OLE DB Provider for ODBC Drivers(0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
IIS7.5显示ASP的详细错误信息500–内部服务器错误解决
IIS7.5显⽰ASP的详细错误信息500–内部服务器错误解决⽅法如下:
打开Internet 信息服务(IIS)管理器(运⾏——inetmgr),然后双击“ASP”打开属性页,
(Internet 信息服务(IIS)管理器)
然后展开“调试属性”,将“将错误发送到浏览器”的值改为“True”,然后点击右侧的“应⽤”以保存设置。
然后双击打开“错误页”属性页,然后点击右侧的“编辑功能设置”,选择“详细错误(D)”
最后需要在本地的IE的“Internet 选项”中将“显⽰友好 HTTP 错误信息”勾选掉,这样就可以显⽰ASP的详细错误信息了。
有了详细错误信息,就能知道哪⾥出故障,解决起来就⽅便多了,为了安全着想,记得,解决完故障,把IIS 设置改回默认!。
ASP程序调试与错误处理
12.1 Microsoft脚本调试器
❖ 点击其上得【配置】按钮,打开【应用程序配置】对话框,选择其上得【应用程序调试】标签页:
12.1 Microsoft脚本调试器
❖ 接下来,运行一个有错误得代码,Microsof Script Debugger将自动运行,自动装载出错误得网页, 并指明错误
12.2 ASP错误及错误类型
VBScript语法错误
❖ 语法错误通常产生在应用程序的编译 阶段,如果VBScript语句结构违反了一 个或多个VBScript脚本语言语法规则, 就会产生VBScript语法错误。
VBScript语法错误
编号
描述说明
800A03EA
语法错误
800A03EB 800A03ED 800A03EE 800A03EF 800A03F2 800A03F3 800A03F4
中找到它,因为它被作为一个安装组件
包含在Win2000安装程序中。
12.1 Microsoft脚本调试器
❖
在开始调试服务器端脚本之前,
您必须首先配置Web服务器,使其支持
ASP调试。
12.1 Microsoft脚本调试器
❖首先打开【IIS管理器】,然后选择相应站点得属性,切换到【主目录】 标签页,如图。
本章要点
Microsoft脚本调试器 ASP错误及错误类型
12.1 Microsoft脚 本调试器
❖
Microsoft公司提供了一种强大的脚
本调试器,就是名称为Microsof Script
Debugger的一个工具软件,它是一个完
全免费的工具。如果你安装了Win2000,
那么你就可以在【开始】|【程序|【附件】
VBScript语法错误
ASP网站发布的错误及解决办法
1.我添加了新闻怎么在页面上不显示呢?由于渐飞网站管理系统有着强大的新闻管理功能,所以新闻内容和模板是紧密联系在一起的,我们的系统是后台生成前台静态文件生成,所以要进行刷新才起效,如果是模板改动,要进行审核或者重写新闻.还有种情况是J S调用新闻,在每次JS调用的时候增改新闻时,都要对J S执行更新操作.2.为什么渐飞网站管理系统怎么找不到首页呢?渐飞网站管理系统是一个可以充分展现网站创作人员个性及创意的系统。
网站的前台由制作人员充分发挥自己的创作能力,加上渐飞系统独有强大的智能化调用标签,可以设计出风格独特的网站内容及风格来。
制作人员可以使用D r e a m w e a v e r、F i r e w o r k s、F l a s h等网页制作工具制作好网站首页,栏目页首,栏目分页及新闻页面。
设计好后,根据网站内容,应用渐飞智能调用标签到各个做好的模板页面中,组合出网站所需要的调用式来。
然后,进行渐飞网站管理系统后台,将首页模板,栏目首页模板,栏目分页模板,新闻模板等,对应放到后台相应位置。
并最终通过渐飞网站管理系统后台强大的功能生成网站所有的页面。
所有页面都为静态页面。
可以手工生成,也可以一次批量生成。
还可以应用渐飞网站管理系统v4.0强大的“计划任务”功能,让系统在指定的时间生成指定的内容。
渐飞网站管理系统没有固定首页的好处在那呢?使用渐飞网站管理系统,网站从此不在看上去如此的眼熟!用户自主创意,加上有N种组合方试的渐飞智能调用标签。
让您的网站从此个性十足。
可以让网站的每个栏目,每个新闻页面都与众不同,都可以让其匹配不同的模板。
首页文件位于根目录下生成,前提必须有,首页模板生成的问题,否则看不到首页.(例如:i n d e x.s h t m l,i n d e x.h t m,i n d e x.h t m l)在添加了首页后,I I S里把默认文档中加上首页文件,只要键入h t t p;//"你的域名"即可;本地直接输入h t t p://l o c a l h o s t,或者h t t p://127.0.0.1 .3.新闻页面中如何实现点击文字实现文件下载的效果?效果:点击下载文件具体操作步骤:一,添加新闻标题及内容,选中“通过审核”项二,在新闻内容中选取要链接的文字三,点击编辑器上方功能图片中第二排第九个四,在出现的对话框中,输入要下载的文件的网页路径。
ASPNET的错误处理20页
大连理工出版社 高职教育出版中心
12
异常简介
? 异常通常由许多类组成的,所有这些类都 派生于称为Exception的一个基类。 例如:
? 在尝试访问不存在的文件时可能会引发 FileNotFoundException异常
? 当数据库出现问题时,访问数据的相关代码可能会引 发SqlException异常
defaultRedirect=customError.aspx>
<t=FileNotFound.aspx />
? 在实际开发过程中,我们应该采用一种更 加简单适用的、能够让编写的代码变得健 壮的容错管理策略。
大连理工出版社 高职教育出版中心
3
容错代码被忽略的原因
? 商业原因
? 技术原因
? 认识上的误区
? 任何开发任务都具有时间限制,为追求开发进度可以 适度减少或不进行容错处理。这样,容错处理代码经 常被忽略。
public float percent (float pnum, float denominator) {
return (pnum/ denominator); }
public float percent (float pnum, float denominator) {
if(denominator >0) return (pnum/ denominator);
第9章 的错 误处理
大连理工出版社
本章要点
? 的容错与策略 ? 防御性编码 ? 用户自定义验证控件 ? 异常处理 ? 自定义错误处理
大连理工出版社 高职教育出版中心
2
容错环节与实现策略
? 在任何应用系统的开发中,脆弱的容错能 力往往是导致系统崩溃的重要原因。
ASP错误500
Win7 IIS配置解决ASP的500错误用图说话一、开始-->控制面板-->卸载程序二、打开或关闭 Windows 功能-->Internet 信息服务(把自己需要的服务勾上,比如我需要ASP但不需要FTP)确定,等待配置完后要重启,然后在系统盘(我的是C:\)就能看到inetpub文件夹了。
浏览器中输入“localhost”能打开如下页面就说明配置成功,如果不成功则返回上面注意检查。
在此IIS配置完成了,静态页面能打开了,但是打开ASP就会出现500错误。
再进行下面配置。
具体如下:一、进入“C:\Windows\ServiceProfiles\NetworkService\AppData\Local”(如果进入C:\Windows\ServiceProfiles\NetworkService里面没有AppData就直接再地址栏输入)。
二、在“Temp”文件夹上点右键-->属性-->安全-->选择Authenticated Users 这个用户(没有的话依次点:编辑-->添加-->高级-->立即查找-->选中Authenticated Users这个用户-->确定-->确定)-->把“完全控制”勾上-->确定-->确定。
三、进入Internet信息服务(IIS)管理器【开始菜单中搜索IIS就出来了】-->双击ASP四、展开“行为”这项,把“启用父路径”改为“Ture”,右侧点“应用”就OK了。
当然,你还得设置你的默认文档,路径等等。
如有不懂,欢迎一起讨论。
IIS7配置ASP+Access运行500错误系统为 Windows7 x64 旗舰版,在 IIS7 中配置 ASP+Access 时,运行出现500错误,详细为 ADODB.Connection 错误 '800a0e7a',出错的代码如下:1.conn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " &Server.MapPath(P_rootpath&"sitedata/mdb#ff%20ok888@.asp")暗笑,这么平常的ASP网站居然在IIS7下会运行不了?ASP连接Access数据库出错?搜了好久,在 论坛上找到答案。
ASP.NET常见错误大全
常见错误大全检测到有潜在危险的 Request Form 值原因:( )在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置( )HTML里面写了两个<form>引起解决:方案一在 aspx文件头中加入这句 <%@ Page validateRequest= false %>方案二修改nfig文件:<configuration><system web><pages validateRequest= false /></system web></configuration>因为validateRequest默认值为true 只要设为false即可在没有任何数据时进行无效的读取尝试解决办法原因所返回的sqldatareader无数据记录但没有作记录判断力处理返回的是空值加上判断即可 if (reader read()) { TextName Text =reader[ FieldName ] ToString(); }数据为空不能对空值调用此方法或属性原因:若对象是null 那么调用对象的方法例如ToString()肯定出错一般是数据库字段的值为空在grideview等数据控件常出现解决:因此建议作NULL处理阅读器关闭时 FieldCount 的尝试无效原因:使用了SqlDataReader来绑定数据后将connection对象作了Close()处理类似public SqlDataReader GetSomething(){conn open();SqlDataReader reader =sqlcmd ExcecutReader(CommandBehavior CloseConnection));conn close();// occur error herereturn reader;}在绑定的时候调用了这个方法来指定数据源如果使用这个方法则需要在调用函数中关闭Reader这样conn就可以自动关闭如果是使用的是SqlDataAdapter和DataSet那么请去掉显式关闭conn的调用或者在finally中调用之未能映射路径原因:可能是在webconfig中的路径配置不正确所致在FCKEditor 的配置中这种问题比较突出<add key= FCKeditor:BasePath value= ~/admin/fckeditor/ /> <add key= FCKeditor:UserFilesPath value= /UserFiles/ />Unreachable code detected原因一般是在异常处理理或返回值时使用了 throw 或return 可能是其位置放在前面造成后面的代码执行到了解决把相关的异常抛出处理的语句(throw)或return 的语句放到代理执行的最后一行索引超出范围必须为非负值并小于集合大小原因( ) 没有设置DATAKEYFIELD设为数据库中相对应的唯一字段(一般是主键)( ) DataGrid Columns > e Item Cells解决( ) 设置datakeyfield( ) 加入判断语句unt (datagrid可以是其它相类似的服务器控件) 数据源不支持服务器端的数据分页解决方法:不要使用DataReader 改成使用DataSet 或使用自定义分页形式不采用提供的分页功能OleDbDataAdapter da = new OleDbDataAdapter(sql connection);DataSet ds = new DataSet();da Fill(ds News );GridView DataSource = ds ;GridView DataBind();对象名 ***** 无效原因:当前使用的数据库中没有*****这张表解决: 查看是否程序中是否写错了所调用的表的名称或看一下SQL 数据库中是否存在你所调用的表在建立与服务器的连接时出错在连接到 SQL Server 时在默认的设置下 SQLServer 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序error: 无法打开到 SQL Server 的连接)solution: 主机上需要用固定的IP地址或服务器地址SqlDateTime 溢出必须介于 / / : : AM 和 / / : : PM之间出现这种问题``多半是因为你更新数据库时``datetime字段值为空``默认插入年月日``造成datetime类型溢出出现表示属性此处应为方法原因:VB与c#的方法属性的格式有所不一样导致可能是在design中绑定数据的语法出现错误解决: 记住属性用[] 方法用()记住绑定数据的正确语法(有以下几种方式::<%Container DataItem( 字段名 )%> <%#Eval( 字段名 )%> <%Bind( 字段名 )%>等)未能从程序集 DAL Version= Culture=neutralPublicKeyToken=null 中加载类型 DAL SqlHelper原因:修改了其他层后未能重新编译成dll解决:编译一下(Rebuild)为过程或函数指定的参数太多solution:调用存储过程与定义的存储过程所用的参数数量或所执行的SQL语句中所传入的参数个数不一致(这是个SQL的错误)解决方案:仔细检查在存储过程中所设定的参数变量与实际输入的参数值是否一一对应无法启动调试绑定句柄无效原因:系统的Terminal Services没有开启Unable to debugging on the web server Debug failed because integrated windows authentication is not enable 解决方法:打开vs >工具(Tools) >选项(Option) >调试(debugging) >编辑并继续(Edit and Continue) >全部打勾Automation 操作中文件名或类名未找到: RegExp解决方法:regsvr vbscript dllSystem NullReferenceException: 未将对象引用设置到对象的实例原因:( )所设置的变量为空值或没有取到值一般出现在传递参数的时候出现这个问题也会在使用datagrid或gridview或datalist等数据控件时出现( )控件名称与codebehind里面的没有对应( )未用new初始化对象( )在程序中所引用的控件不存在解决方法:( )使用try catch finally捕捉错误或直接用response write()输出所取的变量值( )查看代码中是否存在未初始化的变量错误文件被数字签名策略拒绝(安装vs sp 时)解决方法:( ) 单击开始单击运行键入 control admintools 然后单击确定( ) 双击本地安全策略( ) 单击软件限制策略 (注意如果未列出软件限制请右击软件限制策略然后单击新建策略 )( ) 在对象类型下双击强制( ) 单击除本地管理员以外的所有用户然后单击确定( ) 重新启动计算机微软说明vs 不能从源文件模式切换到视图模式解决方法:dos下运行下 devenv /resetskippkgs (win+r cmd)Validation of viewstate MAC failed解决办法:页面的顶部page加EnableViewState= False EnableViewStateMac = False 来解决这个问题Automation server can t create object (Automation 服务器不能创建)解决办法:运行: Regsvr scrrun dll 即可包加载失败未能正确加载包Visual Web Developer Trident Designer Package (GUID ={ AE E C D E F A AEFF }解决方法:设置系统变量 VsLogActivity=在%APPDATA%\Microsoft\VisualStudio\ \文件夹下创建文件ActivityLog xmlErrorMicrosoft Visual StudioLoadLibrary failed for package [Visual Web Developer Trident Designer Package]{ AE E B C D E F A AEFF }ec:\Program Files\Microsoft Visual Studio \Common \Packages\tridsn dll从 WINNT\MicroSoft NET\Framework\v xxx 复制文件gdiplus dll 到 Program Files\Visual Studio \Common \Packages文件夹下在命令行下运行命令 devenv /resetskippkgsError spawning cmd exe解决方案:把cmd exe 拷贝到VS安装目录下的VC/BIN目录里可以解决问题尝试读取或写入受保护的内存解决:硬件有问题一般内存有问题无法在证书存储区中找到清单签名证书解决方法:用记事本打开项目的 csproj文件删除类似该项目中不存在目标 ResolveKeySource原因:这个问题很罕见查询国外相关资料后大致说是由于部署的不是一个标准的solution 需要在VS自带的命令提示中运行下面这个东西恢复解决方法:( ) 将下列代码存为XML文件命名为TestBuild xml<Project DefaultTargets= Build xmlns= ><PropertyGroup><TargetConnectionString>Data Source= \sql % BUser ID=SqlUser% BPooling=False% BPassword=X</TargetConnectionString></PropertyGroup><ItemGroup><DatabaseProject Include= Database \Database dbproj /> <DatabaseProject Include= Database \Database dbproj /> </ItemGroup><Target Name= BuildAllDatabaseProjects ><MSBuildProperties=TargetConnectionString=$(TargetConnectionString)Projects= @(DatabaseProject)Targets= Build;Deploy ></MSBuild></Target>( )在命令提示中运行:m *** uild /t:BuildAllDatabaseProjects TestBuild xml</Project>不能将值 NULL 插入列 **原因:这是数据库表设计的错误所涉及的表的字段中设置了不能为空的属性但是传入的值为null 所以报错解决方法:查看是否所传入的值是否为Null 或修改数据库中表的所对应的列的属性未能加载类型命名空间类原因:( )项目修改后没有进行编译( )项目中原有的命名空间可能被修改了( )项目中所需要的ascx或其他页面不存在或不包含在项目中解决方法:( )在修改完成之后请重新生成或编译整个项目或解决方案( )手工修改所改动的命名空间注意名称的大小写再重新编译( )将相关的文件包含在项目中不能访问只读文件 **** ***解决方案:给虚拟目录所对应的文件加上 Everyone/写入权限即可请求因 HTTP 状态失败 Access Denied解决方法:在iis信息服务器上把匿名访问和允许iis控制密码给勾上有一个无效 SelectedValue 因为它不在项目列表中原因( )在没有绑DropDownList之前就给DropDownList SelectedValue 赋值( )dropdownlist中出现了null值无法在已存在的情况下创建/影像复制该文件解决方案重新编译项目(多个project全部重新编译) 关闭vs 重新打开必要时重新启动机子用户 C\ASPNET 登录失败登录失败异常详细信息: System Data SqlClient SqlException: 用户COO\ASPNET 登录失败这是怎么回事啊?因为你的程序连接SQLServer的连接字符串是用了windows集成登陆你可以改成用数据库帐号密码登陆连接字符串的写法是server=localhost;uid=sa;pwd=xxxx;database=master;server是数据库服务器的机器名或者IP 如果是同一台机可以用localhostuid是数据库登陆帐号pwd是数据库密码database是数据库初始owner名称答案右击桌面我的电脑选择管理双击打开的计算机管理对话框中的本地用户和组下的组在右边的窗口中双击 Remote Desktop Users 组在打开的 Remote Desktop Users 属性对话框中单击添加在打开的添加用户对话框中单击高级再单击立即查找按钮在搜索结果中双击ASPNET(如果是IIS NEOR SERVERCE )再点击两次确定完成添加用户单击开始所有程序 Microsoft SQL Server 企业管理器在打开的控制台根目录选择相应的数据库右击该数据库的中的用户选择新建数据库用户在新建用户对话框中点击登陆名右侧的下拉列表框选择新建打开新建登陆对话框点击名称右侧的省略号按钮在打开的对话框中将列出的名称中选择本机的名称再在下面的名称框中选定Remote Desktop Users 然后点击成员按钮双击 ASPNET(如果是IIS NEOR SERVERCE )然后点击确定在新建登陆对话框中的默认设置的数据库选项中选择相应的数据库名称再在数据库访问选项下勾选相应的数据库点击确定完成将默认的匿名用户添加到SQL 用户 nt authority\neork service 登录失败> sqlserver 调成sql server 和windows验证模式>(以下方法仅供参考)第一步把NT AUTHORITY\NEORK SERVICE 添加到Administrator组中我的电脑 >右键 >管理 >本地用户和组选择组 >双击Administrators >单击添加 >单击高级 >单击立即查找 >在下面的列表中选择Neork Service用户 >两次单击确定 >加入第二步在企业管理器中加入NetWord Service用户打开Sql Server企业管理器>选择数据库实例>打开安全性节点 >选择登录 >在右边的列表中单击右键 >选择新建登录 >在常规选项卡中单击名称旁边的按钮 >选择 Administrators 组 >单击下面的成员按钮 >选择 Neork Service >单击添加按钮 >单击确定返回新建登录对话框 >保证身份验证类型为 windows验证和允许访问 >单击确定 >关闭企业管理器第三步重新运行程序数据库连接字符串选择windows验证即可> 在sqlserver中添加帐户或IIS_WPG工作组此方法来自于未能加载视图状态正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配例如当以动态方式添加控件时在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配原因 viewstate的在作用是将控件的状态保存在下次Post给服务器服务器进行恢复控件的状态(控件的状态包括值和事件)解决方法( )每一个UserControl的viewstate都改为false( )加入这个this Page EnableViewState = false;此方法来源于 _astar/archive/ / / /l由于启动用户实例的进程时出错导致无法生成SQL Server 的用户实例该连接将关闭问题原因这是微软的bug 并且微软已经承认详情如下出现此错误的条件是你用过远程桌面连接并且安装了SQL +VS 就有很大可能触发这个问题微软说会在将来的XP SP 里面解决掉这个问题解决ID= &SiteID=如果你看不懂英文那么我告诉你我的解决办法删除C:\Documents and Settings\[USERNAME]\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS目录即可 [USERNAME]是Windows用户名比如说Administrator此问题来于Server Application UnavailableThe web application you are attempting to access on this web server is currently unavailable Please hit the Refresh button in your web browser to retry your requestAdministrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server Please review this log entry to discover what caused this error to occur解决如果你运行WinXP/IIS 为了给ASPNET工作进程访问你的web工程文件夹的权力请到网站文件所在的目录右键一级文件夹选Security -Add-键入 ASPNET 点击OK或点击Check Names 如果弹出对话框提示 Name not Found 则应点击Locations改变位置到本机计算机名点击OK 分配此用户权限为 Full Control 点击OK错误变为You are not authorized to view this pageYou do not have permission to view this directory or page using the credentials you supplied解决在IIS里右键此虚拟目录-Properties-Directory Security-Edit 勾选上Integrated Windows authentication即可超时时间已到超时时间已到但是尚未从池中获取连接出现这种情况可能是因为所有池连接均在使用并且达到了最大池大小可能原因如下并发操作Connection用后没有关闭或者因为DataReader连接独占连接解决方法修改几个关键页面或访问比较频繁的数据库访问操作使用DataAdapter和DataSet来获取数据库数据不要使用DataReader 在访问数据库的页面上使用数据缓存如果页面的数据不是经常更新(几分钟更新一次)的话使用Cache对象可以不用访问数据库而使用缓存中的内容那么可以大大减少连接数量修改代码把使用Connection对象的地方都在Close()后面加上Dispose()调用建议对数据库操作进行大的修改建立自己的数据库操作代理类继承System IDisposable接口强迫释放资源这样就不会出现连接数量不够的问题了包加载失败未能正确加载包Visual Web Developer Trident Designer Package (GUID ={ AE E C D E F A AEFF } 请与包供应商联系以获得帮助由于可能会发生环境损坏建议重新启动应用程序要禁止将来将来加载此包吗?可以使用 devenv reswetskippkgs 重新启用包加载每次开机打开vs 都会有这个提示烦于是在google了一下发现很多方法都试过了只有一个解决一试就行解决方法如下:设置系统变量 VsLogActivity=在%APPDATA%\Microsoft\VisualStudio\ \文件夹下创建文件ActivityLog xml从 WINNT\MicroSoft NET\Framework\v xxx 复制文件gdiplus dll 到 Program Files\Visual Studio \Common \Packages文件夹下在命令行下运行命令 devenv /resetskippkgs注:发现此问题只有在win 会出现 win 就不会出现这个问题用户 xxx\ASPNET登录失败第一步把 NT AUTHORITY NetWORK SERVICE 添加到Administrator 组中我的电脑 >右键 >管理 >本地用户和组选择组 >双击Administrators >单击添加 >单击高级 >单击立即查找 >在下面的列表中选 Neork Service用户 >两次单击确定 >加入第二步在企业管理器中加 Neork Service用户打开Sql Server企业管理器>选择数据库实例>打开安全性节点 >选择登录 >在右边的列表中单击右键 >选择新建登录 >在常规选项卡中单击名称旁边的按钮 >选择 Administrators 组 >单击下面的成员按钮 >选择 Neork Service >单击添加按钮 >单击确定返回新建登录对话框 >保证身份验证类型为 windows验证和允许访问 >单击确定 >关闭企业管理器第三步重新运行asp Net程序数据库连接字符串选择windows验证即可以上针对win 如果是win 加ASp Net用户无法在已存在的情况下创建/影像复制该文件解决方法重新编译整个项目或者重启电脑Could not create an environment: OCIEnvCreate returned 解决方案一主要是将oracle主目录oracle\的读写权限赋予或者是IUSER_ 和IWAM_ 重启计算机解决二:打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】-应用程序池【改为-MSSharePointAppPool】刷新OK文件夹权限可以不用管设置ORACLE_HOME变量的方法如下控制面板>>系统>>高级>>环境变量>>系统变量>>新建系统变量变量名写ORACLE_HOME变量值添实际的ORACLE_HOME路径在注册表中有由于目标机器积极拒绝无法连接在添加完引用后用localhost替换掉所有的localhost: 重新编译能加载视图状态正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配例如当以动态方式添加控件时在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配解决在页面的 Page 项添加 EnableViewState= false 即可在以下方法或属性之间的调用不明确 method 和 method因隐式转换的缘故编译器无法调用重载方法的某种形式可以用以下方法纠正该错误以不发生隐式转换的方式指定此方法的参数移除此方法的所有重载在调用方法之前强制转换到正确的类型在应用程序级别以外使用注册为allowDefinition= MachineT oApplication解决在网站对应的虚拟目录上右键选属性然后在应用程序名后点创建名字随便填[子目录不会继承上级的属性所以要将aspx文件所在的目录属性设置正确]无法识别的配置节 connectionStrings原因用vs 开发的应用程序需要使 framework 而在iis中的默环境是这时将发生不可识别的节点的问题环境升级为开始-》运行-》cmd-》C:\WINDOWS\Microsoft NET\Framework\v \aspnet_regiis exe iTimeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reachedDescription: An unhandled exception occurred during the execution of the current web request Please review the stack trace for more information about the error and where it originated in the codeException Details: System InvalidOperationException: Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached 主要原因可能有使用了连接池大量的sqlconnection用了后忘记关闸门导致SQL 占用严重可以用 exec sp_who 这个存储过程查看一下连接池的连接数有所限制解决方法:释放连接池调用Connection对象的Close()方法关闭数据库连接利用try catch finally对数据库连接进行异常处理当无法连接数据库时将抛出异常并显示出错信息见catch代码块所示在此程序中无论是否发生异常都可以通过finally区块关闭数据库的连接从而节省计算机资源将SqlConnection对象包含到using区块中这样程序会自动调用Dispose()方法释放SqlConnection对象所占用的系统资源无需再使用SqlConnection对象的Close()方法指定min pool size表示连接池允许的最小连接数(默认为)下面的代码指定了SqlConnection对象的max pool size为min pool size为lishixinzhi/Article/program/net/201311/11175。
asp.net调试错误解决方法收集(2)
调试错误解决方法收集(2)12“/WebApplication1”应用程序中的服务器错误。
--------------------------------------------------------------------------------对路径“D:\WINDOWS\\Framework\v1.1.4322\Temporar y Files\webapplication180d7be\b46d84c0”的访问被拒绝。
说明: 执行当前Web 请求期间,出现未处理的异常。
请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.UnauthorizedAccessException: 对路径“D:\WINDOWS\\Framework\v1.1.4322\Temporar y Files\webapplication180d7be\b46d84c0”的访问被拒绝。
未被授权访问所请求的资源。
请考虑授予 请求标识访问此资源的权限。
有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。
如果应用程序正在通过模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。
若要授予 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。
单击“添加”添加适当的用户或组。
突出显示 帐户,选中所需访问权限对应的框。
调试权限不够Try:根据设计, 要求对根Web 站点上或任何虚拟目录上的ASPNET 帐户(Aspnet_wp.exe 进程帐户)具有读取、执行和列出访问权限。
这是必需的,以便 可以访问内容文件并可以监视文件更改。
解决方案若要为根Web 站点上或任何虚拟目录上的ASPNET 帐户添加读取、执行和列出访问权限,请执行以下步骤:在 Windows 资源管理器中,浏览到包含根 Web 站点(默认情况下是 C:\Inetpub\Wwwroot)或虚拟目录的文件夹。
IIS运行ASP文件500内部错误解决方法大全
IIS运⾏ASP⽂件500内部错误解决⽅法⼤全1 IIS服务器出现500错误2错误原因:500错误的原因⼀般是源程序出现错误造成的。
3 解决办法:1 ⾸先设置IE浏览器à⼯具->Internet选项2 刷新或者重新打开500错误页⾯就会出现错误的程序部分3 根据错误提⽰,然后解决问题。
4 ADODB.Connection 创建失败的可能解决⽅法: 1、重装MDAC2.8。
MDAC 2.8下载地址: 2、你先在开始运⾏⾥输⼊regsvr32 "C:\Program Files\Common Files\System\ado\msado15.dll"。
如果不⾏再输⼊他regsvr32 scrrun.dll 记得刷新页⾯。
还不⾏输⼊他regsvr32 msxml3.dll就可以了。
3、重新安装MDAC_TYP.EXE。
这个我也操作过,所以也记录下来。
上⾯的1、2、3不分先后顺序的,操作过后⼀般能解决问题。
PS:⼀般先使⽤第⼆步,注册这些DLL,如果测试OK的话也就不⽤使⽤其他步骤了。
⼀、现象描述:Server Application ErrorThe server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.或提⽰:500服务器内部错误或者提⽰:com+什么的错误查看⽇志⽂件:系统⽇志具体描述如下:DCOM 错误⽆ 10010 NT AUTHORITY\SYSTEM Myserver 服务器 {3D14228D-FBE1-11D0-995D-00C04FD919C1} 没有在限定的时间内⽤ DCOM 注册。
如何让浏览器显示自己制作的网页错误的详细信息
我们用ASP制作网页时,常常会出现各种错误,希望能够快速定位错误的精确位置,从而改正,这里有一个方法可以让浏览器显示错误的具体位置,并给出错误类型。
方法步骤如下:
1、打开控制面板,点击管理工具:
2、打开IIS管理器
3、打开ASP
4、展开调试属性:
5、把“将错误信息发送到浏览器”的值改成“true”,并点击应用使更改有效
6、点击网站,找到你正在制作的网站,点击打开:
7、点击打开“错误页”:
8、点击
9、勾选详细错误,并确定
10、用浏览器打开你正在设计的有错误的网页,就会有详细的错误信息和错误的位置了,很容易修改。
asp.net页面出错时的处理方法
1.第一种做法,在Web.config文件配置<system.web><customErrors defaultRedirect="~/ErrorPage.aspx"mode="RemoteOnly"></customErrors></system.web>defaultRedirect属性用来指明当aspx页面发生了未处理错误时导向的页面; 但使用重定向机制来重新导航错误页面,这样错误信息就会丢失,也就是说我们用Server.GetLastError()获得的Exception对象始终是空的。
虽然可以提示用户出错,并提供一个返回出错页面的链接,却不能给管理员一个很好的错误提示。
2.第二种做法:在global文件里的Application_Error方法中处理代码protected void Application_Error(Object sender, EventArgs e){Exception ex=Server.GetLastError().GetBaseException();string errorTime="发生时间:"+DateTime.Now.ToString();string errorAddress="发生异常页:"+Request.Url.ToString();string errorInfo="异常信息:"+ex.Message;string errorSource="错误源:"+ex.Source;string errorTrace="堆栈信息:"+ex.StackTrace;Server.ClearError();System.IO.StreamWriter writer=null;try{lock(this){//写入日志string year=DateTime.Now.Year.ToString();string month=DateTime.Now.Month.ToString();string day=DateTime.Now.Day.ToString();string path=string.Empty;string filename=DateTime.Now.ToString("yyyyMMdd") +".txt";path=Server.MapPath("~/Error/")+year+month+day;if(!Directory.Exists(path)){Directory.CreateDirectory(path);}System.IO.FileInfo file=new FileInfo(path+"/"+fil ename);writer=new StreamWriter(file.FullName,true);//文件不在则创建,true表示追加writer.WriteLine("用户IP:"+erHostAddres s);writer.WriteLine(errorTime);writer.WriteLine(errorAddress);writer.WriteLine(errorInfo);writer.WriteLine(errorSource);writer.WriteLine(errorTrace);writer.WriteLine("-------------------------------------------------------");}}finally{if(writer!=null){writer.Close();}}Server.Transfer("~/ErrorPage.aspx"); //跳转到显示友好错误的页面}然后在ErrorPage.aspx页面显示一些好友的提示信息.3.第三种做法:在Page_Error事件里面处理代码private void Page_Load(object sender, System.EventArgs e){throw(new ArgumentNullException());}public void Page_Error(object sender,EventArgs e){Exception ex=Server.GetLastError().GetBaseException();string errorTime="发生时间:"+DateTime.Now.ToString();string errorAddress="发生异常页:"+Request.Url.ToString();string errorInfo="异常信息:"+ex.Message;string errorSource="错误源:"+ex.Source;string errorTrace="堆栈信息:"+ex.StackTrace;Server.ClearError();System.IO.StreamWriter writer=null;try{lock(this){//写入日志string year=DateTime.Now.Year.ToString();string month=DateTime.Now.Month.ToString();string day=DateTime.Now.Day.ToString();string path=string.Empty;string filename=DateTime.Now.ToString("yyyyMMdd") +".txt";path=Server.MapPath("~/Error/")+year+month+day;if(!Directory.Exists(path)){Directory.CreateDirectory(path);}System.IO.FileInfo file=new FileInfo(path+"/"+fil ename);writer=new StreamWriter(file.FullName,true);//文件不在则创建,true表示追加writer.WriteLine("用户IP:"+erHostAddres s);writer.WriteLine(errorTime);writer.WriteLine(errorAddress);writer.WriteLine(errorInfo);writer.WriteLine(errorSource);writer.WriteLine(errorTrace);writer.WriteLine("-------------------------------------------");}}finally{if(writer!=null){writer.Close();}}Server.ClearError();//防止错误继续到要被处理的 Application_Er ror 事件中。
ASP错误代码及缘故一览表
ASP错误代码及缘故一览表.txt第一次笑是因为遇见你,第一次哭是因为你不在,第一次笑着流泪是因为不能拥有你。
MicrosoftVBScript(0x800A03E9)→内存不足MicrosoftVBScript(0x800A03EA)→语句格式错误(只有else,缺少If或EndIf)MicrosoftVBScript(0x800A03EB)→缺少 ':'MicrosoftVBScript(0x800A03ED)→缺少 '('MicrosoftVBScript(0x800A03EE)→缺少 ')'MicrosoftVBScript(0x800A03EF)→缺少 ']'MicrosoftVBScript(0x800A03F2)→缺少标识符MicrosoftVBScript(0x800A03F3)→缺少 '='MicrosoftVBScript(0x800A03F4)→缺少 'If'MicrosoftVBScript(0x800A03F5)→缺少 'To'MicrosoftVBScript(0x800A03F6)→缺少 'End'MicrosoftVBScript(0x800A03F7)→缺少 'Function'MicrosoftVBScript(0x800A03F8)→缺少 'Sub'MicrosoftVBScript(0x800A03F9)→缺少 'Then'MicrosoftVBScript(0x800A03FA)→缺少 'Wend'MicrosoftVBScript(0x800A03FB)→缺少 'Loop'MicrosoftVBScript(0x800A03FC)→缺少 'Next'MicrosoftVBScript(0x800A03FD)→缺少 'Case'MicrosoftVBScript(0x800A03FE)→缺少 'Select'MicrosoftVBScript(0x800A03FF)→缺少表达式MicrosoftVBScript(0x800A0400)→缺少语句MicrosoftVBScript(0x800A0401)→语句未终止(缺少EndIf或Endselect)MicrosoftVBScript(0x800A0402)→缺少整型常数MicrosoftVBScript(0x800A0403)→缺少 'While' 或 'Until'MicrosoftVBScript(0x800A0404)→缺少 'While', 'Until' 或语句未终止MicrosoftVBScript(0x800A0405)→缺少 'With'MicrosoftVBScript(0x800A0406)→标识符太长MicrosoftVBScript(0x800A0407)→无效数字MicrosoftVBScript(0x800A0408)→无效字符MicrosoftVBScript(0x800A0409)→未终止的字符串常量MicrosoftVBScript(0x800A040A)→注释未终止MicrosoftVBScript(0x800A040D)→无效利用 ' Me' 关键字MicrosoftVBScript(0x800A040E)→'loop' 语句缺少 'do'MicrosoftVBScript(0x800A040F)→无效的 'exit' 语句MicrosoftVBScript(0x800A0410)→循环操纵变量 'for' 无效MicrosoftVBScript(0x800A0411)→名称重概念MicrosoftVBScript(0x800A0412)→必需是行中的第一个语句MicrosoftVBScript(0x800A0413)→不能为 non-ByVal 参数赋值MicrosoftVBScript(0x800A0414)→挪用子程序时不能利用括号MicrosoftVBScript(0x800A0415)→缺少文字常数MicrosoftVBScript(0x800A0416)→缺少 'In'MicrosoftVBScript(0x800A0417)→缺少 'Class'MicrosoftVBScript(0x800A0418)→必需在一个类的内部概念MicrosoftVBScript(0x800A0419)→在属性声明中缺少 Let , Set 或 GetMicrosoftVBScript(0x800A041A)→缺少 'Property'MicrosoftVBScript(0x800A041B)→在所有属性的标准中,变量的数量必需一致MicrosoftVBScript(0x800A041C)→在一个类中不许诺有多个缺省的属性/方*MicrosoftVBScript(0x800A041D)→类的初始化或终止程序没有参数MicrosoftVBScript(0x800A041E)→属性的 set 或 let 必需至少有一个参数MicrosoftVBScript(0x800A041F)→错误的 'Next'MicrosoftVBScript(0x800A0420)→'Default' 只能在 'Property' , 'Function' 或 'Sub' 中指定MicrosoftVBScript(0x800A0421)→指定 'Default' 时必需同时指定 'Public' ")MicrosoftVBScript(0x800A0422)→只能在 Property Get 中指定 'Default'MicrosoftVBScript 运行时错误(0x800A0005)→无效的进程挪用或参数MicrosoftVBScript 运行时错误(0x800A0006)→溢出MicrosoftVBScript 运行时错误(0x800A0007)→内存不足MicrosoftVBScript 运行时错误(0x800A0009)→下标越界MicrosoftVBScript 运行时错误(0x800A000A)→该数组为定长的或临时被锁定MicrosoftVBScript 运行时错误(0x800A000B)→被零除MicrosoftVBScript 运行时错误(0x800A000D)→类型不匹配(如字符串型当数字或其他类型利用)[解决] 如需要数字的变量用来计算i=i+1等数学运算,那么应该在变量上利用cint(变量名),强制转换为数字型,两个变量之间作比较也必然若是相同的类型,因此也需要转换。
ASP.NETCore应用的错误处理[1]:三种呈现错误页面的方式
Core应⽤的错误处理[1]:三种呈现错误页⾯的⽅式由于 Core应⽤是⼀个同时处理多个请求的服务器应⽤,所以在处理某个请求过程中抛出的异常并不会导致整个应⽤的终⽌。
出于安全⽅⾯的考量,为了避免敏感信息的外泄,客户端在默认的情况下并不会得到详细的出错信息,这⽆疑会在开发环境下增加查错纠错的难度。
对于⽣产环境来说,我们也希望最终⽤户能够根据具体的错误类型得到具有针对性并且友好的错误消息。
Core提供了相应的中间件帮助我们将定制化的错误信息呈现出来,这些中间件都定义在“Microsoft.AspNetCore.Diagnostics”这个NuGet包中。
在着重介绍这些中间件之前,我们照理演⽰⼏个简单的实例让读者朋友们对这些中间件的作⽤有⼀个⼤概的了解。
[本⽂已经同步到《》之中]⽬录⼀、显⽰开发者异常页⾯⼆、显⽰定制异常页⾯三、针对响应状态码定制错误页⾯⼀、显⽰开发者异常页⾯⼀般情况下,如果 Core在处理某个请求时出现异常,它⼀般会返回⼀个状态码为“500 Internal Server Error”的响应。
为了避免⼀些敏感信息的外泄,详细的错误信息并不会随着响应发送给客户端,所以客户端只会得到⼀个很⼀般化的错误消息。
以如下这个程序为例,服务端在处理每个请求时都会抛出⼀个类型为InvalidOperationException的异常。
1:public class Program2: {3:public static void Main()4: {5:new WebHostBuilder()6: .UseKestrel()7: .Configure(app => app.Run(context => Task.FromException(new InvalidOperationException("Manually thrown exception..."))))8: .Build()9: .Run();10: }11: }当我们利⽤浏览器访问这个应⽤的时候,总是会得到如下图所⽰的这个错误页⾯。
ASP.netMVC自定义错误处理页面
MVC自定义错误处理页面在ASP NET MVC中我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常只要某个Action设置了HandleErrorAttribute特性那么默认的当这个Action抛出了异常时MVC将会显示Error视图该视图位于~/Views/Shared目录下设置HandleError属性可以通过设置下面这些属性来更改HandleErrorAttribute特性的默认处理:ExceptionType 指定过滤器处理那种或哪些类型的异常如果没有指定该属性过滤器将会处理所有的异常View 指定发生异常时过滤器要显示的视图名称Master 指定视图母版的名称如果有的话Order 指定过滤器应用的顺序如果一个Action有多个HandleErrorAttribute过滤器指定Order属性如果某个Action设置了多个HandleErrorAttribute Order属性可以用来确定使用哪个过滤器其值可以设置为从(最高优先级)到任何正整数之间的整数来标识其优先级值越大优先级别越低 Order属性遵循以下规则:应用到Controller上的过滤器将会自动应用到该Controller的所有Action上如果Controller和Action都应用了HandleErrorAttribute 那么只要Order属性值相同将会先执行Controller上的过滤器而后才会执行Action上的过滤器对于相同Order属性的过滤器其执行先后次序不定如果没有指定Order属性则默认为这意味着该过滤器将比其他的过滤器优先执行除非其他过滤器指定了Order为如果有多个过滤器可适用那么第一个可以处理该异常的过滤器会被首先调用然后针对该异常的处理将会终结在View中获取异常信息ASP NET MVC框架将异常信息存储在ViewDataDictionary中来传递给Error视图该ViewDataDictionary的Model属性即是ExceptionContext类的一个实例这个ViewData有下面几个键: ActionName:目标Action方法的名称ControllerName:目标Controller的名称Exception:异常对象启用自定义错误处理下面我们来开启用于HandleErrorAttribute过滤器的自定义错误处理打开程序的nfig文件在system web节中加入一个customErrors元素如下所示<system web><customErrors mode= On defaultRedirect= Error /></system web>处理Error视图中的错误有时候在Error视图中也会发生错误这时ASP NET将会显示其默认的错误页面(黄底红字) 为了避免这种情况的出现我们在nfig文件的customErrors节中来自定义错误页面如下:<system web><customErrors mode= On defaultRedirect= ><error statusCode= redirect= / /></customErrors></system web>示例程序下面的示例说明了如何对Controller和Action应用HandleErrorAttribute特性来自定义异常处理示例中HomeController有一个名为ThrowException的Action 方法在该Action中将会抛出一个ApplicationException类型的错误这个Action应用了HandleErrorAttribute 但是没有设置任何参数当该Action执行时将会抛出一个异常显示默认的Error视图而ThrowNotImplemented方法则应用了设有两个参数的HandleErrorAttribute View参数指定了自定义的Error视图名称:CustomErrorView ExceptionType参数指定了该过滤器仅处理ThrowNotImplemented类型的异常Controller的HandleErrorAttribute则设置了Order参数为意味着该过滤器只会被在Index或About方法产生异常时执行同时示例给出了视图CustomErrorView和CustomError Master 的内容视图CustomErrorView显示异常的信息比如抛出异常的Controller和Action的名称异常的内容以及堆栈跟踪信息视图Index上有两个链接分别指向了ThrowException和ThrowNotImplemented两个ActionHomeController类[HandleError(Order = )]public class HomeController : Controller{public ActionResult Index(){ViewData[ Message ] = Wele to ASP NET MVC! ;return View();}public ActionResult About(){return View();}[HandleError]public ActionResult ThrowException(){throw new ApplicationException();}[HandleError(View = CustomErrorView ExceptionType = typeof(NotImplementedException))]public ActionResult ThrowNotImplemented(){throw new NotImplementedException();}}视图 CustomErrorView<asp:Content ID= Content ContentPlaceHolderID= TitleContent runat= server >CustomErrorView</asp:Content><asp:Content ID= Content ContentPlaceHolderID= MainContent runat= server ><h >CustomErrorView</h ><p>Controller: <%=((HandleErrorInfo)ViewData Model) ControllerName %></p><p>Action: <%=((HandleErrorInfo)ViewData Model) ActionName %></p><p>Message: <%=((HandleErrorInfo)ViewData Model) Exception Message %></p><p>Stack Trace: <%=((HandleErrorInfo)ViewData Model) Exception StackTrace %></p></asp:Content>视图 Index<asp:Content ID= indexTitle ContentPlaceHolderID= TitleContent runat= server >Home Page</asp:Content><asp:Content ID= indexContent ContentPlaceHolderID= MainContent runat= server ><h ><%= Html Encode(ViewData[ Message ]) %></h ><%= Html ActionLink( Throw An Exception ThrowException )%> (Default Error Page)<br /><br /><%= Html ActionLink( Throw Not Implemented Exception ThrowNotImplemented )%> (Custom Error Page)</asp:Content>母版页 CustomError Master<%@ Master Language= C# Inherits= System Web Mvc ViewMasterPage %><!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >< xmlns= ><head runat= server ><title><asp:ContentPlaceHolder ID= TitleContent runat= server /></title><link stylesheet type= text/css /><style type= text/css >body error{background color: Maroon;color: # ;}</style></head><body class= error ><div class= page ><div id= header ><div id= title ><h >A Custom Error Occurred</h ></div><div id= logindisplay ><% Html RenderPartial( LogOnUserControl ); %></div><div id= menucontainer ><ul id= menu ><li><%= Html ActionLink( Home Index Home )%></li><li><%= Html ActionLink( About About Home )%></li></ul></div></div><div id= main ><asp:ContentPlaceHolder ID= MainContent runat= server /> <div id= footer ></div></div></div></body>lishixinzhi/Article/program/net/201311/11950。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查看ASP详细错误提示信息的图文设置方法
有时候很多朋友访问自己的asp或php等程序页面时出现一些错误,就是页面无法显示也没有详细的错误信息,就算iis中开启了显示详细的错误也不能看到,那么就需要客户端如下的设置了。
经常遇到网站无法打开返回500错误提示,让人一筹莫展,那如何才能查看详细的错误提示,找到错误所在么?
下面,我们以Windows XP为例
1.打开IE浏览器,在“工具”菜单中选择“Internet选项”效果如下图
2.然后会弹出如下图的对话框:
3.切换到“高级”选项卡,并按下图继续操作:
4.以上操作完成后,刷新那个发生错误的网站页面,就可以看到详细的错误提示了,将错误提示发给懂技术的人员帮你解决。