如何在用户处于非活动状态时结束会话

时间:2011-09-26 09:00:11

标签: c# javascript asp.net

大家好我已经看过几个关于会话的例子。但我想知道以下是否符合我的要求。我的要求我将有一些用户可以访问的页面。如果用户访问某个页面,并且他在5分钟左右没有执行任何操作,我想将其重定向到可用的默认页面。这就是我所做的

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

我写的脚本如下

<script language="javascript" type="text/javascript">
var maxInactiveInterval = 120;
function startCountdown() {
window.setTimeout(alertSessionTimeout, ((maxInactiveInterval - 60) * 1000));
 }
  function alertSessionTimeout() {
  alert("You're session is going to timeout in 1 minute.");
 }
</script>

我在我的身体中调用这个脚本如下

body onload="startCountdown();">

我想知道它是否按照我的要求工作,并且也是最好的方法,以便用户在会话将在几分钟内失效时会话过期

2 个答案:

答案 0 :(得分:2)

为什么不在IIS上中继您可以设置延迟时间,或者您可以在Web.Config文件中进行更改并将会话时间设置为perio / minutes。而不是写剧本。

类似的东西:

<configuration>
  <system.web>
     <sessionState timeout="20"></sessionState>
  </system.web>
</configuration>

修改

我希望你看到这篇文章在会话超时之前提醒用户:Alert Session Time out in ASP.NET更好的方法来实现你想要的。

答案 1 :(得分:0)