在我的 asp.net MVC 项目中,我有一个会话助手类,用于设置和检索会话值。这是课程:
public class SessionManager
{
public static string UserName
{
get
{
return HttpContext.Current.Session[SessConstants.UName] ;
}
set
{
HttpContext.Current.Session[SessConstants.UName] = value;
}
}
}
如您所见,属性是静态的。我在我的代码中使用它,如下所示:
//For setting values
SessionManager.UserName = "";
//For retrieving values
strLoggedinUser = SessionManager.UserName;
问题:
- 像这些线程这样的静态属性设置为 HttpContext.Current.Session['someVar'] 是否安全?
- 我是否应该创建一个实例属性并在我从 MVC 控制器类继承的基本控制器中实例化 SessionManager。然后我可以让我的所有控制器继承我的自定义控制器而不是 MVC 控制器
想法?
谢谢你的时间...