维持Session时间,页面定时刷新

由于session的时间维持的比较短,在这里我用定时刷新的方法向服务器端发送请求。以保存session的状态。

 

a.aspx

<script type="text/javascript">
    function makeRequest()
    {
        var guid = rnd();
       
        //alert(guid);
       
        //记住给个随机数,不然的话有缓存
        var url = "../GetSession.aspx?id=" + guid;  
        createXMLHttpRequest();
        xmlHttp.onreadystatechange=handleRefresh;  
        xmlHttp.open("GET",url,true);  
        xmlHttp.send(null);
        //禁止IE缓存
        //http_request.setRequestHeader("If-Modified-Since","0");
        //每60秒刷新一次页面
        //setTimeout("makeRequest()", 60000);
    }

//创建xmlHttp

    var   xmlHttp;  
    function createXMLHttpRequest()  
    {  
        if(window.ActiveXObject)  
        {  
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
        }  
        else if(window.XMLHttpRequest)  
        {  
            xmlHttp = new XMLHttpRequest();  
        }  
    }
 
    //返回信息
    function handleRefresh()  
    {
        if(xmlHttp.readyState == 4)  
        {
            if(xmlHttp.status   ==   200)  
            {  
                //每60秒刷新一次页面
                //alert("OK");
                setTimeout("makeRequest()", 60000);
            }  
        }  
    }
   

//创建随机数
    rnd.today=new Date();
    rnd.seed=rnd.today.getTime();

    function rnd()
    {
        rnd.seed = (rnd.seed*9301+49297) % 233280;
        return rnd.seed/(233280.0);
    }

    function rand(number)
    {
        return Math.ceil(rnd()*number);
    }
    </script>

//页面加载

<body οnlοad="makeRequest()">

 

在GetSession.aspx页面中要做的就是把session值重新赋值一次。

Session.add("Name",value);

 

方法比较笨哈,但是实用。*_&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值