我在我的网络应用程序中使用全局变量。 Web应用程序确实具有登录功能,并且可以允许多个用户。全局变量用于存储当前正在处理的项目的数据。
如果多个用户试图访问这些全局变量,或者它们在各自的工作站中只是全局变量,我的应用程序是否会处于混乱状态?
如果它会造成混乱,那么替换全局变量的最佳方法是什么。
答案 0 :(得分:2)
不要在ASP.NET应用程序中使用static
变量!它们在所有会话/用户之间共享,因为它们保存在Web服务器中,而不是客户端上。
您有几个选项,已在ASP.NET中内置:
您可以在使用其中一个的类中轻松创建属性(当然,您可以在没有属性的情况下执行此操作,但我认为它们是更好的做法):
public List<string> SomeSettingPerUser
{
get
{
return (List<string>)HttpContext.Current.Session["SomeSetting"];
}
set
{
HttpContext.Current.Session["SomeSetting"] = value;
}
}