IIS频繁重启,从应用程序日志中可以看到大量的错误提示,显示w3wp.exe出现Faulting application错误,后来通过检查程序发现是模板的死循环导致的。
完整的错误提示如下:
Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.3959, stamp 45d742c2, debug? 0, fault address 0x0000bee7
有一种意见认识,这是IIS应用程序池在自动回收时导致了w3wp.exe进程崩溃,说是一个微软操作系统的BUG。解决办法是让.NET的垃圾回收机制自己清理内容,而不让IIS程序池来管理(即把程序池上的自动回收的勾去掉)。经过测试,这种方法对于我遇到的问题,没有用。
后来考虑是不是死循环的问题, .net的开发一般都在VS中进行,因为vs集成环境强大的编译功能,强类型,自动垃圾回收,所以一般的错误都会在程序运行前发现,当然那些逻辑错误除外。项目用的是模板引擎,遇到了一个问题,在VS中运行会出现这个提示
“WebDev.WebServer.exe 遇到问题需要关闭”
在IIS中运行会出现
“Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.3959, stamp 45d742c2, debug? 0, fault address 0x0000bee7”
经过调试,发现出现了“未处理的“System.StackOverflowException”类型的异常出现在 System.dll 中。提示有无限循环或者无限递归”。报错的地方不是后台程序,而且其它页面也正常。于是我从html页面排除,发现我的模板里面有自调用自己的情况,就是无限递归调用自己。删除一切OK。
所以提醒大家警惕无限递归,死循环,警惕逻辑错误。
关于IIS频繁重启,w3wp.exe出现Faulting application错误,本文就介绍这么多,希望对大家有所帮助,谢谢!
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权
本文来源于互联网,如果文章侵犯了您的权宜,请与我们“splaybow(@)qq.com”联系,谢谢合作!
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/10/7 16:06:59 | 编辑:小小菜鸟 | 分类:IIS | 浏览: