现在的位置: 首页 > 综合 > 正文

根据用户是否使用来保持Session对象的有效性

2013年10月06日 ⁄ 综合 ⁄ 共 711字 ⁄ 字号 评论关闭

转自:http://blog.csdn.net/veryhappy/archive/2007/05/16/1612007.aspx

By satalaj

翻译:veryhappywx.net

 

介绍

当用户关闭IE或其它浏览器时,Session对象不会结束。Session会在最后一次访问时开始计算达到Web.config中定义的时间后消失。

 

那意味着即便浏览器关闭后服务器也会忽略销毁本地的用户Session存储。在本文你可以看到如何根据用户是否使用来保持Session对象的有效性。这段代码帮助我们保持Session对象的有效性,即使你在Web.config中设置了session timeout = 1

使用如下代码

 

创建一个新的ASP.NET项目

编辑Web.config文件

设置sessionTimeout value = 3分钟

添加新的Web窗体“SessionAlive.aspx

设置webform1.aspx为默认启动页

添加下面的javascript代码在webform1.aspx

<script>
function sessionLive()
{
var img = new Image();
img.src 
= "sessionAlive.aspx";
alert(
'called');
}

function SetsessonLive()
{
window.setInterval(
"sessionLive()",2000);
}
</script>

webform1.aspxbodyonload事件中调用SetsessonLive()方法,Session对象在浏览器运行过程中不会消失,关闭浏览器后3分钟会结束Session对象。

 

抱歉!评论已关闭.