Asp.net中的会话是否在网站用户之间共享?

时间:2013-02-15 01:46:36

标签: c# session

Asp.net中的会话是否在网站用户之间共享?

客户1 在页面加载中的会话中存储的值如下:

 Session["editStudentID"] = editStudentID.ToString();

客户2 同时访问客户端1的同一页面,以便存储其他会话

Session["editStudentID"] = editStudentID.ToString();

客户端1或2会话可以互相中断吗?或者每个客户的会话是唯一的

3 个答案:

答案 0 :(得分:5)

不,它不是共享的。

客户端发送启动新会话的请求的服务器为该客户端分配新的会话ID。这是每个客户端的唯一ID或令牌。每个Post或Get到服务器通常都会发送该会话ID或令牌,以告诉服务器它是谁(标识符)。

此外,所有会话变量数据都存储在服务器上。

答案 1 :(得分:2)

会话是每会话ID,会话ID通常是每个浏览器(通过cookie或URL参数)。

答案 2 :(得分:0)

不,不是。

当客户端第一次连接到服务时,初始响应包括一个cookie,用于跟踪来自该客户端的后续连接。然后,只要引用Session对象以确定引用后备会话存储中的哪些数据,就会使用cookie的值。

因此,在任何请求中更改会话数据只会改变该客户端的会话数据。如果您需要在多个客户端之间共享数据,则必须提供不同的机制 - 静态字典或类似的。