封装在静态类静态属性中时Sessions会发生冲突吗?

时间:2014-12-22 11:49:48

标签: c# asp.net .net session

我有一个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冲突的问题?

1 个答案:

答案 0 :(得分:2)

没有。会话更改可能是由static方法引起的。实际上,HttpContext.Current本身就是static。将其分配给静态变量可能会导致此问题。