IIS应用程序池每20分钟循环一次,不管配置如何

IIS应用程序池每20分钟循环一次,不管配置如何,iis,application-pool,recycle,Iis,Application Pool,Recycle,我正在尝试禁用应用程序池回收,并将应用程序池配置中的回收间隔更改为0。以下是.config中的完整配置: <add name="DefaultAppPool" autoStart="true" managedRuntimeVersion="v4.0"> <recycling logEventOnRecycle="Time, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory">

我正在尝试禁用应用程序池回收,并将应用程序池配置中的回收间隔更改为0。以下是.config中的完整配置:

<add name="DefaultAppPool" autoStart="true" managedRuntimeVersion="v4.0">
    <recycling logEventOnRecycle="Time, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory">
        <periodicRestart time="00:00:00">
            <schedule>
                <clear />
            </schedule>
        </periodicRestart>
    </recycling>
</add>

尽管如此,应用程序仍然每天循环使用数次,这可以在事件日志中看到:

为应用程序池“DefaultAppPool”提供服务的进程id为“1584”的工作进程因不活动而关闭。应用程序池超时配置设置为20分钟。需要时将启动新的工作进程

这种情况发生在带有IIS 7.5的Azure Windows 2008 R2虚拟机上。 要使此设置正常工作,我还需要做些什么吗?

可能与和其他设置重复

您要查找的是idleTimeout,您可以在applicationhost.config中的processmodel元素下找到它。除非你有一个强有力的理由,否则我不建议禁用超时,因为它是在相关站点未加载时释放未使用资源的主要机制

如果它处于空闲状态并关闭,那么随着新进程的启动,开销会非常小。如果这确实是一个问题,那么我建议研究某种形式的持久化缓存,例如应用程序请求路由IIS模块提供的磁盘缓存