当封装在静态类静态属性中时,会话是否可以冲突

本文关键字:会话 是否 冲突 封装 静态类 静态 属性 | 更新日期: 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.将其分配给静态变量可能会导致此问题。