0

遇到了一个愚蠢的问题...

所以现在我实现 Application_Start 来加载哈希表,效果很好。接下来在 Session_Start 中,我解析用户的 cookie 以检索他的姓名,这又一次可以正常工作。当我将他的用户名存储在 Global.asax.cs 的变量中时,就会出现问题。我并没有真正意识到这是所有进程/线程之间共享的变量。所以我想我的问题是你如何一次解析用户的cookie,然后将数据保存在进程/线程的其他地方。

4

4 回答 4

1

您可以在会话中存储 cookie 并在以后使用它。您可以将任何对象存储在会话集合中,并在其过期之前检索它。你可以在这里阅读更多

分配给会话

Session["anyName"] = "value";

从会话对象中检索

string str = Session["anyName"].ToString();
于 2012-08-16T17:41:12.023 回答
0

这正是 ASP.NET 会话的意义所在。将这些信息存储在那里。它将仅特定于当前用户,而不是在所有用户之间共享。

顺便说一句,您可能还想检查ASP.NET 中的表单身份验证,只是为了确保您不会重新发明一些轮子。

于 2012-08-16T17:38:36.940 回答
0

你不能只使用会话吗?

Session["username"] = username;


var username = Session["username"];
于 2012-08-16T17:40:10.387 回答
0

会话绝对是我会去的方式。在 Session 中拥有大量数据可能会导致性能问题,但只为每个用户存储小字符串根本不重要。

于 2012-08-16T17:41:02.063 回答