6

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

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

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

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

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

那么客户端 1 或 2 会话可以相互中断吗?!或者会话对于每个客户端都是唯一的

4

3 回答 3

7

不,它不共享。

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

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

于 2013-02-15T02:24:59.930 回答
3

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

于 2013-02-15T01:49:44.310 回答
1

不它不是。

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

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

于 2013-02-15T01:52:40.950 回答