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

在IIS 6(和其他版本太afaik),在属性 – >主目录选项卡 – >configurationbutton – >选项选项卡中有会话超时设置。 看起来像这样:

IIS对话框的图片

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

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

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

他们不一样。 IIS会话超时适用于CLASIC ASP页面。 web.config是一个asp.net。

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

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

确保该值至less设置为会话超时,以确保所有会话在整个会话超时期间保持不变。

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