2013-02-15 99 views
1

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

客户端1个 存储在会话那样的值在网页加载:

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

客户端2 访问客户机1的相同的页面的同时所以会有存储的其他会话

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

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

回答

3

不,它不共享。

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

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

2

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

0

不,它不是。

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

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