asp.net 2.0会话超时

时间:2010-03-31 23:26:42

标签: asp.net session .net-2.0 timeout

我提前道歉,因为之前可能会被问到这个问题。我有一个asp.net 2.0 Web应用程序,我正在尝试设置会话超时。

我的第一次尝试是将其添加到web.config中。 < sessionState mode =“InProc”timeout =“300”>

用户会告诉我,虽然在闲置约20分钟后再尝试在网站上再做一些事情,他们会被重定向回登录页面。

所以现在我正在努力 在我的<中超时=“60”在web.config中形成标签。

我还在我的global.asax中尝试了Session.Timeout = 60。

这些有用吗?我需要别的东西吗?感谢您的时间和帮助。

2 个答案:

答案 0 :(得分:3)

来自另一个论坛帖子。

  

有两种不同的类型   超时。一个是身份验证   超时(将您重定向到   登录页面),另一个是会话   超时(丢弃所有会话   乏)。我在中设置了会话超时   global.asax session_start使用   会话超时。在你的webconfig中,   您可以设置身份验证超时   通过编辑此标记:

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

答案 1 :(得分:2)

会话超时和身份验证超时是两回事。

任何访问您网站的用户都会获得一个会话,无论他们是否已登录。在指定的超时后他们处于非活动状态时,他们的会话就会消失,下次他们会被分配一个新的会话点击你的网站。

表单身份验证在cookie中使用身份验证票证,该票证也有超时。如果身份验证超时短于会话超时,则身份验证票证将过期,用户仍将被注销 - 但他们仍将拥有其会话数据!

您需要在web.config中查找身份验证超时并调整它以匹配会话超时。