ASP.NET中的会话超时

183

我正在运行一个ASP.NET 2.0应用程序在IIS 6.0中。我希望会话超时时间为60分钟,而不是默认的20分钟。我已经完成以下操作:

  1. web.config文件中设置<sessionState timeout="60"></sessionState>
  2. 在IIS管理器/网站属性/ASP.NET配置设置中将会话超时时间设置为60分钟。
  3. 在应用程序池属性/性能中将空闲超时时间设置为60分钟。

但是我仍然在20分钟后遇到了会话超时问题。还有其他需要进行的操作吗?


1
请提供您如何测量这20分钟的信息。让我们确认这20分钟是一个会话超时,而不是其他类型的超时。 - John Saunders
11
请使用上下投票箭头旁边的勾选标记将优质答案标记为被接受的答案。 - Brian Webster
5
八年后,正确答案仍未被接受。 - Nathan
请澄清您所说的IIS管理器/网站属性/ASP.NET配置设置是什么意思。您在IIS中逐步更改了什么? - niico
15个回答

3

您可以在IIS中找到此设置:

Settings

它可以在服务器级别、网站级别或应用程序级别的“ASP”下找到。

我认为您可以在这里设置web.config级别。请自行确认。

<configuration>
   <system.web>

      <!-- Session Timeout in Minutes (Also in Global.asax) -->
       <sessionState timeout="1440"/>

   </system.web>
</configuration>

还在 Global.asax 中吗? - Kiquenet

0

如果您想为网站设置会话超时,则需要移除该功能。

<authentication mode="Forms">
      <forms timeout="50"/>
</authentication>

从 web.config 文件中返回标签。


这个答案涉及到身份验证 cookie 超时的持续时间,与会话超时无关。 - Philip Stratford

0

Timeout属性指定了应用程序的Session对象分配的超时时间,以分钟为单位。如果用户在超时期间内没有刷新或请求页面,则会话将结束。

IIS 6.0:最小允许值为1分钟,最大值为1440分钟。

Session.Timeout = 600;

0
IIS会话超时值仅适用于经典的.asp应用程序,这由IIS配置控制。 对于ASP.NET应用程序,只有在web.config中指定的超时值才适用。

2
IIS的应用程序池超时怎么样? - SteveCav

-2

在更改IIS中的会话超时值后,请重新启动IIS。 要实现此目的,请转到命令提示符。键入IISRESET并按Enter键。


编辑 web.config 文件会自动导致 IIS 重置。 - Timothy Gonzalez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接