我正在我的asp.net页面中使用followign对象
private static Dictionary<string, List<Guid>> OpenNodes = new Dictionary<string, List<Guid>>();
//Page start
if(!OpenNodes.ContainsKey(Session.SessionID))
{
List<Guid> list = new List<Guid>();
OpenNodes.Add(Session.SessionID, list);
}
//User clicked on a node
Guid id = new Guid(e.Node.Value);
tmpList = OpenNodes[Session.SessionID];
tmpList.Add(id);
OpenNodes[Session.SessionID] = tmpList;
这是一个好主意还是有一种类似的“更好”的方法来实现这一目标?
最佳答案
您不应将Session
替换为静态字段。 Session
更加灵活且不易出错。您可以轻松地使其在Web场中工作(不能使用静态字段来做到这一点)。您可以考虑用静态字段替换某些Application
变量。重要的是要知道静态字段不提供任何开箱即用的线程安全机制,您应该适当地手动控制(锁定)它们。