如何在web服务中更好地处理IIS应用程序池回收

如何在web服务中更好地处理IIS应用程序池回收,web,iis,Web,Iis,我正在IIS中运行一个web服务,它调用第三方供应商应用程序。web服务是从另一个第三方应用程序调用的,IIS承载的web服务将对其进行响应。所以基本上我的应用->IIS应用->第三方应用->IIS应用->我的应用 偶尔会有第三方应用正在执行的应用池回收,这意味着IIS应用正在等待回复。这会导致“我的应用”无限期地等待第三方应用,因为信号链现在已断开 IIS在回收过程中会强制杀死其中运行的子进程,这是出于设计吗?有没有办法让循环等待子循环完成?是否设置了禁用重叠循环 如果将其设置为true,则

我正在IIS中运行一个web服务,它调用第三方供应商应用程序。web服务是从另一个第三方应用程序调用的,IIS承载的web服务将对其进行响应。所以基本上我的应用->IIS应用->第三方应用->IIS应用->我的应用

偶尔会有第三方应用正在执行的应用池回收,这意味着IIS应用正在等待回复。这会导致“我的应用”无限期地等待第三方应用,因为信号链现在已断开


IIS在回收过程中会强制杀死其中运行的子进程,这是出于设计吗?有没有办法让循环等待子循环完成?

是否设置了禁用重叠循环

如果将其设置为true,则IIS recycle将终止旧流程实例并立即创建新实例

如果您将其设置为false,那么IIS回收将不会立即终止旧进程和请求。如果旧流程没有完成所有请求,您可以看到两个实例并排出现

它还将创建一个新的应用程序池。区别在于IIS将离开旧进程,直到旧工作进程中的所有请求完成或关闭时间超过关闭时间限制为止。其默认值为90


因此,如果您的旧请求没有挂起在旧工作进程中,并且需要90多秒才能完成请求,请只扩展关闭时间限制的值。它将给旧进程更多的时间来处理当前请求。

关闭时间限制确实有助于延长工作进程的寿命。但是w3wp正在进入暂停状态,我的进程仍然无法完成响应。它还创建了一个vs调试器进程,这使我的进程看起来像是崩溃了。有没有一种方法我们不能暂停工作进程?