web项目中用户名等信息都是用Session保存的,以前一值运行挺好的,最近发现了个奇怪的问题!我用用户A登录系统,然后系统显示的是A,然后退出系统或者关闭浏览器,然后再用B用户登录系统,但是此时系统仍然显示的是A用户,但是只要刷新下就编程B用户了,实在是疑惑,由于这种原因,导致其他用户登录系统后,系统显示的都是与A用户相关的信息,包括用户的权限等等!找了半天也没找到到底是哪的原因,希望高手指点!到底是哪里出错了才有可能导致这种问题呢?补充几点是系统主页面用的是frameset,最近网速比较慢,不知道和网速有没有关系!
if(session["userinfo"]!=null)
{
session.clear();//清空全部的
}
else
{
session["userinfo"]= userinfo;
}以上代码只表意
Page_Load(...)
{
if(!IsPostBack)
{
if(Request.QueryString["rdate"] == null)
{
Response.Redirect(Request.RawUrl+"?rdate="+DateTime.Now.ToString());
}
}
}//我想只需要主页面上的初始加载页加上上面的程序就可以了(frameset内的默认小页)//如果不行可弄个重写类,所有页面都加
public class UserPage : System.Web.UI.Page
{
public UserPage()
{
} protected override void OnLoad(System.EventArgs e)
{
if(!IsPostBack)
{
if(Request.QueryString["rdate"] == null)
{
Response.Redirect(Request.RawUrl+"?rdate="+DateTime.Now.ToString());
}
}
base.OnLoad(e);
}
}//所有页面CS,继承UserPage(原来是System.Web.UI.Page)
再Session["xxx"]="";
Session["xxx"]="";
退出清session的时候再清下缓存
if(session["user"]!=null)
{
session.clear();//清空全部的session
}
如果没有
else
{
session["user"]= user;
}