我有一个ASP.NET应用程序,平均可以同时由120-140个用户访问。我使用Session来获取和设置用户特定信息。为了方便起见,我有一个名为CurrentSession
的静态类,它有一个名为UserInfo
的属性:
public static class CurrentSession{
public static UserInfo{
get{return HttpContext.Current.Session["userInfo"]!=null?(UserInfo)HttpContext.Current.Session["userInfo"]:null;}
set{HttpContext.Current.Session["userInfo"]=value;}
}
//And other properties
}
每当我需要当前用户的信息时,我就会这样做:
CurrentSession.UserInfo;
最近我遇到了检索错误用户信息的情况。我的方法中是否存在导致Session
冲突的问题?
答案 0 :(得分:2)
没有。会话更改可能是由static
方法引起的。实际上,HttpContext.Current
本身就是static
。将其分配给静态变量可能会导致此问题。