如果IIS应用程序工作进程挂起,会发生什么?

问题描述 投票:0回答:1

我是网络编程的新手......现在我正在研究已部署在IIS中的已实现的ASP.NET MVC应用程序。此应用程序绑定到只有一个工作进程的应用程序池。此时,我试图了解如果工作进程由于应用程序代码抛出的不受控制的异常而冻结/挂起会发生什么。那么有人可以解释一下吗?

我们观察到的是,当发生这种情况时,应用程序停止正常工作,我们需要重新启动其应用程序池,以便应用程序再次开始正常工作。在观察到这种行为后,我有一个疑问.....在应用程序池高级配置中,在进程模型下,ping最大响应时间(秒)设置为90,据我所知,当应用程序池ping工作进程时并且它没有响应因为它是挂起的,90秒后工作进程应该终止,但它似乎没有终止,因为当发生这种情况时我们需要重新启动应用程序池以便应用程序再次工作....所以为什么在这案例工作者进程没有终止?

asp.net-mvc iis iis-8 application-pool iis-8.5
1个回答
0
投票

首先,你只有一个工人流程,应该保持这种方式。 Web园艺经常导致更多问题而不是它有助于解决问题,特别是对于.NET应用程序。其次,你说它冻结/挂起是由于应用程序代码引发的“不受控制的”(未处理的?)异常。为什么你认为是这种情况。您是否有错误页面或指示其例外的内容? “ping”进程检查进程是否仍在工作,但不一定完成请求。因此,从WAS的角度来看,IIS仍在响应。

如果要进行故障排除,可以调查使用DebugDiag获取内存转储并对其执行一些自动分析。 https://support.microsoft.com/en-us/help/919792/how-to-use-the-debug-diagnostics-tool-to-troubleshoot-a-process-that-h

© www.soinside.com 2019 - 2024. All rights reserved.