IIS中的会话超时和空闲超时有啥区别?

Posted

技术标签:

【中文标题】IIS中的会话超时和空闲超时有啥区别?【英文标题】:What is the different between Session Timeout and Idle Timeout in IIS?IIS中的会话超时和空闲超时有什么区别? 【发布时间】:2012-03-31 05:47:16 【问题描述】:

在 IIS 中,选择默认网站 > 属性 > 主目录 > 应用程序设置 > 配置 > 选项,默认会话超时为 20 分钟。此外,选择 Application Pools > DefaultAppPool > Properties,在 Performance 选项卡中,有空闲超时,默认为 20 分钟。这两个超时有什么区别?

【问题讨论】:

【参考方案1】:

idle timeout 确定 AppPool 是否被回收,如果是,在多少分钟空闲时间后回收。回收 AppPool 可以释放资源,但也意味着在再次请求站点时需要重新生成在该 AppPool 下运行的站点的所有缓存数据(ASP.NET 应用程序的编译版本等)(这可能需要几分钟)。

会话超时设置确定会话的有效时间。 请注意session timeout is only applied to classic ASP(不是 ASP .NET)。

编辑:

会话超时设置似乎也适用于 ASP.NET 应用程序。你可以找到详细的说明here。

编辑 2:

为了澄清这一点:IIS 中有两个会话超时设置。一种设置适用于经典 ASP 应用程序,另一种适用于 ASP.NET 应用程序。 former 只能在安装了 Classic ASP 的情况下使用 ASP 面板设置(IIS >= 7 默认没有 Classic ASP)。

【讨论】:

因为您也可以为 ASP.NET 应用程序设置会话超时(这确实很有意义)。如果您安装适用于 IIS 的经典 ASP 扩展(iis.net/ConfigReference/system.webServer/asp),那么 SO 答案中提到的设置仅在当前 IIS 版本(> v.6)中可用。 当空闲超时为 20 且会话状态超时为 360 时,用户可以保持多长时间不活动?

以上是关于IIS中的会话超时和空闲超时有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止共享主机上的 IIS 应用程序池中的空闲超时

会话超时在 IIS 7 中如何工作?

运行后台任务时防止 IIS 空闲超时

IIS 会话超时与 ASP.NET 会话超时

IIS 中空闲超时(分钟)的最小可接受值是多少?

什么是 ASP.NET 中的默认会话超时?