我们大约每个月会遇到这个问题。很难确定原因,所以希望能得到任何帮助。这会导致应用程序池停止并使网站崩溃。我们已经检查了所有日志文件,但没有发现异常。我们正在使用 IIS 6 上的 2.0.3 版本。
我们大约每个月会遇到这个问题。很难确定原因,所以希望能得到任何帮助。这会导致应用程序池停止并使网站崩溃。我们已经检查了所有日志文件,但没有发现异常。我们正在使用 IIS 6 上的 2.0.3 版本。
我注意到IIS默认的Web应用程序有一个29小时的循环重启计划,这可能会造成麻烦,因为它可能在用户不期望的时间进行重启。
例如:Web应用程序从凌晨12点开始运行,这意味着第二天它会在5点重启,第三天会在10点重启,第四天会在下午3点重启,以此类推(假设有足够的请求活动来保持其活动状态,以免因闲置而关闭)。
如果您的Web应用程序严重依赖于内存中的会话状态,则情况尤其糟糕,因为重启将终止会话,并可能迫使用户重新验证身份并且失去任何未保存的工作。 (如果您没有将应用程序设计得与重启无缝协作)
检查重启计划,并确保它在您预期的时间重启。有关屏幕截图,请参见此处:http://remy.supertext.ch/2010/08/iis7-worker-process-reached-its-allowed-processing-time-limit/
不确定无限循环建议...听起来像是您需要解决的重启配置问题。
这通常表示你的应用程序代码中存在无限循环。
基本上,每当一个请求进入 Web 服务器时,IIS 就会将请求交给工作进程。您可以在 IIS 中配置有多少个这些工作进程以及超时值是什么。超时是为了保持事物运行,以防应用程序代码挂起-它被杀死,以便线程可以回到池中继续服务新的请求。
因此,请查找可能的无限循环的代码。或者,它可能是一个非常长时间的数据库查询,它最终可能已经完成但超过了超时值。也许您的 Web 应用程序为最终用户提供了使查询返回太多数据或需要太多 DB 处理时间的机会。
当然,很难为您给出具体的原因,但请尝试沿着这些方向思考。
Session
在每个请求中都可能被清除的情况。此外,这个问题似乎是在谈论应用程序崩溃,这是一件不同的事情。 - Andrew Barber