我有一台带有单个应用程序池的 IIS 服务器和一个包含三个应用程序的站点。所有三个应用程序都在单个 IIS 工作器中运行。
有时,在调试某个应用程序时,调试器会间歇性地进入永远评估“某项”的状态。即使我没有主动调试,在执行暂停期间,这种情况也可能发生。
当这种情况发生时,我正在调试的整个 ASP.NET 应用程序将变得无法使用。如果我向“死机”应用程序发出请求,我可以看到 ASP.NET 加载处理请求所需的二进制文件,但它不会输入我的任何代码,也不会响应我的请求,也不会关闭用于发出请求的连接。
但是,该工作器中的其他两个应用程序继续运行并按预期处理服务器请求。
据我所知,除了重启机器之外,没有其他方法可以恢复应用程序。重启 IIS、回收应用程序池和终止工作进程都不起作用。
为什么会发生这种情况?如何在不重新启动计算机的情况下恢复 ASP.NET 应用程序?
请注意,我专门使用术语“应用程序”来指代 IIS 应用程序。