我可能有一个关于会话的非常基本的问题。 在页面加载功能中,我有以下代码:
Session["loggedInUserId"] = userId;
现在的问题是: 如果此代码在服务器上并且两个用户连接到此服务器并一个接一个地登录,那么登录的用户是否已经作为第一个用户登录?
我需要多线程吗?
答案 0 :(得分:1)
如果您将userId
变量设置为静态,则可能会出现问题
答案 1 :(得分:1)
不需要。请通过ASP.NET Session State (MSDN)发布。
根据这个
ASP通过在会话开始时为客户端提供分配给用户的唯一密钥来维护会话状态。此密钥存储在客户端在每个请求上发送到服务器的HTTP cookie中。然后,服务器可以从cookie中读取密钥并重新膨胀服务器会话状态。
希望这就是你要找的东西。
答案 2 :(得分:1)
Asp.net会话是每个浏览器会话。同一台机器上的两个浏览器或两台独立机器中的两个用户将引用不同的会话,所以不用担心。
答案 3 :(得分:0)
会话是每个浏览器的状态管理。唯一的会话ID存储在该浏览器的cookie中。永远不要在会话中存储敏感信息,因为会话ID是以纯文本形式来回发送的,因此可以由外部来源使用。
在此处详细了解Sessions。