清除session会话客户端缓存

本文介绍了一个linkButton单击事件中实现用户注销功能的方法,针对IE浏览器缓存导致Session清除后仍能访问受保护页面的问题,提出了设置HTTP头部禁止缓存和使用查询字符串确保每次请求都从服务器获取的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在一个linkButton的单击事件中,我编写了注销当前用户的功能,如下所示:(框架中的一个子页面有这个控件)
protected void LinkButtonLogout_Click(object sender, EventArgs e)
    {
        this.Session.Clear();
        this.Session.Abandon();
         Response.Write(" <script language='javascript'>window.parent.location='../login.aspx'; </script>");  //
让父框架转到登陆页面。
    } 

       
可是,之后我在当前的IE地址栏里输入刚才访问过的一个页面,还是能显示出数据,手动刷新一次才转回了登陆页面。
 
原因:这个不是session的问题,应该是IE缓存造成的现象。就是说你再次访问页面之后,并没有访问服务器,而是访问的本地缓存页面。
使Session.Clear()Session.Abandon()立即生效的解决方案:
<META   http-equiv="Pragma"   content="no-cache">  取消客户端缓存。
如果页面用 abc.aspx?id ="" 查询字符串的形式访问浏览器,则会认定是不同的页面(abc.aspx页面及id不同的形如abc.aspx?id =""的页面都是不相同的),不会从本地客户端缓存读取页面,而是从服务器读取页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值