当谈到实际决定会话超时的时候,我很困惑。
在记录(或抛出)用户之前,Web应用程序需要允许20分钟的“空闲时间”。我在IIS中的sessionState和Recycle worker进程上尝试了不同的设置。超时仍然太短,就我的原始测试所显示的那样,有点随机。
我在某处读到默认超时是20分钟,但在我的应用程序中,它似乎更接近五。有没有简单的方法来改变这个?该应用程序在IIS 6上运行.NET 3.5。
编辑: 我刚刚意识到实体框架可能与问题有关,因为用户内容在实体框架中被保存为上下文。实体持有多长时间是否有时间限制?
答案 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设置为非常高的值。