|
介绍
当用户关闭IE或其它浏览器时,Session对象不会结束。Session会在最后一次访问时开始计算达到Web.config中定义的时间后消失。那意味着即便浏览器关闭后服务器也会忽略销毁本地的用户Session存储。在本文你可以看到如何根据用户是否使用来保持Session对象的有效性。
那意味着即便浏览器关闭后服务器也会忽略销毁本地的用户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.aspx的body的onload事件中调用SetsessonLive()方法,Session对象在浏览器运行过程中不会消失,关闭浏览器后3分钟会结束Session对象。
|