前几天有同学问到一个问题,大概如下:
存在Login.aspx与Default.aspx页面,由Login.aspx输入正确的用户名与密码访问到Default.aspx,当在Default.aspx正确退出(释放Session),再直接通过浏览器访问,问题便出现了,似乎Session并没有失效,页面仍可以访问。
查阅了一下相关的资料,原来是页面被缓存的问题,经过测试,得到的解决方案如下:
1.重新调用原页面的时候在给页面传一个参数: href="****.aspx?random()"
2.HTML方法
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</HEAD>
3.Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";
Response.AddHeader("Pragma", "No-Cache");
如果大家再遇到类似的问题,可以考虑使用以上的三个解决方案。