应用程序池为什么会自动停止?

17

我正在使用IIS 7.0对我的MVC互联网应用程序进行性能测试。

有时应用程序池会停止,并在浏览器中出现“服务不可用”的错误。然后我必须重新启动该池。

为什么应用程序池会自动停止,如何解决这个问题?

更新 我的日志文件显示:“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ webengine4.dll从注册表中返回错误。数据是错误。”


相关链接:https://dev59.com/eloU5IYBdhLWcg3wamga - user1568891
3个回答

18

我也遇到了这个问题,以下是我的解决方法:

1)打开IIS。

2)右键单击Web应用程序的应用程序池,选择“高级设置”。

3)将“快速故障保护”→“启用”设置为False。

如果这是真的话,如果在指定的时间内发生了指定数量的工作进程崩溃,则应用程序池会关闭。默认情况下,在5分钟间隔内出现5次崩溃时,应用程序池会关闭。

我在这个链接中阅读到了答案[https://sharepoint.stackexchange.com/questions/22885/application-pool-is-auto-stopped-when-browse-web-application-in-iis7]

希望这对其他人有所帮助。


我曾经遇到过同样的问题,Stijn建议我查看引起问题的页面并修复错误,这是长期解决方案。短期解决方案是尝试更改此池设置。谢谢。 - sobelito

18
应用程序池在无法从错误/崩溃中恢复时会停止。请查看事件查看器中的 Windows日志 > 应用程序 ,以查看导致崩溃的异常。 列将提到类似于 ASP.NET 4.0.30319.0 的内容。

事件查看器截图


我的日志文件显示:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll在注册时返回了一个错误。数据就是这个错误。" - backtrack
你可能需要针对这个问题提出一个后续问题。一些快速搜索表明,这可能是.NET Framework或IIS中的安装或配置错误。 - user247702
更多细节?我找不到这个日志。 - Daniel Grover
1
@DanielGrover 我已经添加了一张截图,以帮助你定位日志信息。 - user247702
1
谢谢!我现在找到了! - Daniel Grover

0

嗯,我曾经遇到过类似的问题,只是针对另一个模块。

在查看事件日志后,请检查系统32\inetsrv文件夹中是否存在所需的模块。如果不存在,则请删除/注释全局模块部分中system32\inetsrv\config\applicationHost.config中的相应行。也许您还需要从IIS应用程序池中删除一些模块(这些模块也无法通过事件查看器找到和指向)。

在此之前,我尝试了很多方法,包括多次重新安装IIS和.NET Framework,但都没有解决问题。这个方法对我很有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接