37

在 IIS 6(以及其他版本)中,属性 -> 主目录选项卡 -> 配置按钮 -> 选项选项卡中有一个会话超时设置。看起来像这样:

IIS 对话框的图片

在 ASP.NET web.config 中有一个 SessionState 设置,如下所示:

<system.web>
    <sessionState timeout="120" />
    <!-- etc .. -->
</system.web>

他们有什么关系吗?他们设置相同的东西还是不同的东西?

4

3 回答 3

45

它们是不相同的。IIS 会话超时适用于经典 ASP 页面。web.config 一个用于 asp.net。

于 2009-10-09T15:35:09.963 回答
12

据我所知,IIS 设置对 ASP.NET 会话没有影响——这些必须在 web.config 中设置。

于 2009-10-09T15:34:13.580 回答
4

您还应该考虑应用程序池空闲超时。通过单击应用程序分配到的应用程序池上的属性 (IIS 6) 或高级设置 (IIS 7.5),可以找到应用程序池的设置。

确保此值至少设置为会话超时,以确保所有会话在整个会话超时期间持续存在。

这两个值之所以相互依赖,是因为会话信息实际上存储在应用程序池的工作进程中。也就是说,如果工作进程因任何原因被关闭或杀死,会话信息就会丢失。

于 2014-09-22T08:05:56.330 回答