今天我在用IIS7.5调试ASP.NET程序时,遇到了503.0 (服务器不可用)错误。弄了几个小时,重新配置了IIS,始终彻底解决不了此问题。网上都说重启应用程序池,就可以解决,我重启了N遍了,还是一样,于是我重新审查了自己的代码,找到答案了,并成功解决了问题。我在这儿分享经验。
问题定义:
IIS 7.5 的 503.0 错误
问题原因:
1. IIS 本身的程序池停止了,这个有很多种原因,如果你一次重启应用程序池就不会再出现此错误,表明IIS 应用程序池停止的原因。若重启程序池不断出现此错误,原因属于第二类。
问题定义:
IIS 7.5 的 503.0 错误
服务器不可用
Microsft 官方关于此错误的解析如下:
503.0 服务不可用。
将该请求发送到当前停止的或当前禁用的应用程序池。若要解决此问题,请确保已启动目标应用程序池。事件日志可能会提供应用程序池停止或禁用的原因的信息。
问题原因:
1. IIS 本身的程序池停止了,这个有很多种原因,如果你一次重启应用程序池就不会再出现此错误,表明IIS 应用程序池停止的原因。若重启程序池不断出现此错误,原因属于第二类。
2. 应用程序的死循环、无限递归调用等引起应用程序池的停止,这时候你要看看自己写的代码,有没有死循环、无限递归调用等代码块,去掉这些代码块并重启IIS应用程序池,问题会彻底解决。
解决方法:
第一类错误引起解决方法:
重启应用程序池就可以解决。
第二类错误引起的解决方法:
去掉死循环、无限递归调用代码块,并重启应用程序池。