用Ajax保持会话

  在一个项目中,需要让会话变量存在于页面关闭之前的整个周期内,尝试用asp.net ajax的方式来实现,代码如下所示:
  .aspx页面中,<body>标签:<body onload="KeepActive();">
  客户端JS代码:
  function KeepActive(){
  PageMethods.KeepSession();
  setTimeout("KeepActive();",600000);
  }
  后台.cs代码:
  [System.Web.Services.WebMethod]
     public static void KeepSession()
     {
     }

  代码的意图就是,让客户端定期调用服务端方法,从而保持会话状态不受会话超时时间设置的限制。从实际的运行效果来看,绝大部份时间是能够达到预期的目的的。但众所周知,Session在某些情况下是会丢失的,所以这种方法对Session因非超时原因而丢失还是无能为力的。
  

posted @ 2007-07-17 17:03  戒焦戒躁  阅读(751)  评论(0编辑  收藏  举报
中小企业信息管理的超值之选:蓝点通用管理系统!
中小企业通用管理软件推荐
自己动手,三分钟入门定制你的企业管理软件!
轻松搭建随需应变的企业管理平台!