web应用程序出错是在所难免的事情,若是我们没有处理好就会出现404或是500的错误页面甚至出错的堆栈信息呈现在用户面前,当服务器出错时我们应该赢IE打开出错网站,才能看到完整的出错信息并分析。现在我们看去看看asp.net网站出错时的处理方法。
asp.net通常的出错可能如下:
一、Net1.1的程序放在.Net2.0的虚拟主机中运行,或反之
二、用户自己设计的web.config文件与虚拟主定义的冲突,只要删除冲突行就可以解决。
三、需要放在根目录下运行的程序却放在二级目录中造成出错,如dz论坛的NT版要就要放在根目录下才能运行。
四、权限问题:
1.没有点开始--自动设置受控端--设置Asp.Net安全模型,设置后要重启IIS
2.自己手工设了系统必要的权限,如用户数据目录是需要Service的读与运行权限(d:\freehost)
3.自己手工改了C:\DocumentsandSettings目录及子目录的权限,造成无法写临时文件,可以参考正常的电脑来恢复权限
4.自己手工改了C:\windows目录的权限,造成无法读相关的dll文件。
5.如果只是asp.net写入文件操作时才出错,可以看以下内容:
如果用户需要用ASP.net写文件或目录,需要增加以下的权限。例如用户数据放在D:\Freehost目录,那么要为D:\增加FreeHost组读属性的权限,可以在硬盘属性---安全---高级中添加。最后的D:\的权限如下
d:\(如果用户网站内容放置在这个分区中)
administrators全部权限
system读取与运行(如果安装了一流信息监控就设全部权限)
FreeHost读取属性的权限(只有该文件夹,子目录不用继承)
注意!!!!!读取属性的权限的权限并不是读取权限,这是两个完全不一样的权限!
另外,测试服务器是否正常的办法:
首先你要确认服务器是否配置好asp.net
1.新开通一个asp.net的虚拟主机,做一个简单的asp.net程序上传,如test.aspx文件,这个文件的内容是:
2.在这台服务器上,IE中访问这个test.aspx,看出错信息是什么,从出错信息中可以大概知道原因。(必须在服务器上用IE查看出错页,在远程看是看不到出错原因的.)
看完上述内容之后,我们知道只有通过分析完整的出错信息才能找出具体的出错原因,若是我们不在出错的服务器上访问出错网址,那么我们看到的信息都是不完整的。