陷入一个愚蠢的问题......
所以现在我实现Application_Start来加载哈希表,这很好。接下来在Session_Start中,我解析用户的cookie以检索他的名字,这再次正常工作。当我将他的用户名存储在Global.asax.cs中的变量时,就会出现问题。我并没有真正意识到这是一个在所有进程/线程之间共享的变量。所以我想我的问题是你如何解析用户的cookie一次,然后保存数据肯定在进程/线程的其他地方。
答案 0 :(得分:1)
您可以在会话中存储Cookie并在以后使用它。您可以将任何对象存储在会话集合中,并在它过期之前检索它。您可以阅读here
以上的内容分配到会话
Session["anyName"] = "value";
从会话对象中检索
string str = Session["anyName"].ToString();
答案 1 :(得分:0)
这正是ASP.NET会话的意思。在那里存储这些信息。它仅适用于当前用户,不会在所有用户之间共享。
顺便说一下,您可能还想结帐Forms Authentication in ASP.NET,以确保您不会重新发明一些轮子。
答案 2 :(得分:0)
你能不能只使用Session?
Session["username"] = username;
var username = Session["username"];
答案 3 :(得分:0)
会话绝对是我的方式。在Session中拥有大量数据可能会导致性能问题,但只为每个用户存储小字符串应该无关紧要。