你把base那句去掉呢?
也没有用,我直接try{}catch{}也报错。。
说是W3p进程中出现未处理的异常。。W3p中的未处理的异常,我认为就等于是站点程序中出现未处理的异常,这个理解对不对?
@hexllo: 那看样子不是程序的异常,而是运行时的异常了(换台电脑跑代码,可以验证)。
@幻天芒: 换台电脑也有哦。。同事的电脑也是的。
@hexllo: 那从HttpApplication执行开始,跟踪代码看看。这种很少见,看看是不是其他库引起的~
@幻天芒: 在DB访问层用了微软企业库,这个问题是在连接数据库失败时它抛出的异常,但是我这样写应该能抓取到才对啊。。因为我看了下DLL的属性,也是托管的,如下图:
所以我就不知道是怎么回事了。
@hexllo: http://www.entlib.net/?p=1333 这里面的解决方案是安装更新。
@幻天芒: 我的理解是那个DLL出了.net不知道的异常,所以让IIS挂了。
@hexllo: 最终的问题是?
@幻天芒: 没有安装那个补丁,我修复了一下网络,保证能联上DB,那个DLL里抛出的是TNS连接超时,但是.net没有捕捉到,所以直接抛给IIS进程了,结果IIS进程里也不知道怎么处理,IIS进程就自动结束了。。。我是这么理解的,因为以前在开发windows Mobile程序的时候,有遇到异常闪退的情况,老大告诉我,mobile中的.net框架是精简的,有的异常它不认识,所以就不弹出在at...at 之类一大串的代码,而是直接闪退。。。我觉得这2个问题是一样的,你认为呢?
@hexllo: 第三方库的有些是非托管代码,所以可能会导致.Net不会抓异常。
@幻天芒: 嗯,就是这样的,谢谢大神
@hexllo: :)同进步~