带变量的ASP.NET会话管理

时间:2012-08-16 17:36:40

标签: asp.net

陷入一个愚蠢的问题......

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

4 个答案:

答案 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中拥有大量数据可能会导致性能问题,但只为每个用户存储小字符串应该无关紧要。