当封装在静态类静态属性中时,会话是否可以冲突
本文关键字:会话 是否 冲突 封装 静态类 静态 属性 | 更新日期: 2023-09-27 18:34:53
我有一个 ASP.NET 应用程序,平均有120-140个用户同时访问。我使用会话来获取和设置用户特定的信息。为了方便起见,我有一个名为 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
冲突的问题?
No.会话更改不可能由 static
方法引起。事实上,HttpContext.Current
本身就是一个static
.将其分配给静态变量可能会导致此问题。