如何强制20分钟的会话超时?

时间:2009-03-31 13:57:20

标签: asp.net iis entity-framework iis-6 timeout

当谈到实际决定会话超时的时候,我很困惑。

在记录(或抛出)用户之前,Web应用程序需要允许20分钟的“空闲时间”。我在IIS中的sessionState和Recycle worker进程上尝试了不同的设置。超时仍然太短,就我的原始测试所显示的那样,有点随机。

我在某处读到默认超时是20分钟,但在我的应用程序中,它似乎更接近五。有没有简单的方法来改变这个?该应用程序在IIS 6上运行.NET 3.5。

编辑: 我刚刚意识到实体框架可能与问题有关,因为用户内容在实体框架中被保存为上下文。实体持有多长时间是否有时间限制?

3 个答案:

答案 0 :(得分:6)

用户将根据web.config中的身份验证设置注销。

会话时间将在web.config中的会话标记中设置。

如果它们不同,那么你会看到“有趣”的结果。

答案 1 :(得分:5)

http://msdn.microsoft.com/en-us/library/ms972429.aspx

如果你查看web.config,你可以写一些像这样的东西

<configuration>
  <sessionstate timeout="20" />
</configuration>

在那里你可以设置超时..

答案 2 :(得分:1)

使用sessionstate超时。您不希望使用回收工作程序,因为这将每N分钟回收与该工作程序关联的所有会话。如果使用会话变量,最好将Recycle Worker设置为非常高的值。