0

再一次混淆了与会话管理相关的MSDN文档。

如果图片不可见,请点击上面指定的链接

我浏览了 MSDN 中的 Session Management Article,发现文章中说 - “我们可以在服务器上存储特定于会话的数据,以便在同一个会话中跨多个浏览器或客户端设备请求使用。

谁能告诉我这怎么可能。例如,如果您有两个浏览器,即 i)Firefox 和 ii) Internet Explorer (IE)。

现在,如果我在 Firefox 中运行 asp.net 应用程序(它使用 stateserver 来管理会话)。我再次通过 IE 运行相同的应用程序(没有关闭 firefox 会话)。这是否意味着两个浏览器将共享同一个会话?我觉得不是”。两种浏览器都将使用自己的会话运行,这彼此不同。

其次,我发现文章中的两种说法是相互矛盾的。它说-“会话状态类似于应用程序状态,只是它的范围仅限于当前浏览器会话”,另一方面它说-“它将特定于会话的数据存储在服务器上以供跨多个浏览器或客户端使用-同一会话中的设备请求

那么,如果它的范围仅限于当前的浏览器会话,那么它如何跨多个浏览器使用呢?

4

2 回答 2

2

这有点令人困惑,但我认为您误解了该声明。它们指的是多个请求,而不是浏览器或客户端设备。

会话确实限定于当前浏览器会话,使用 cookie 或查询字符串进行持久化。

于 2012-08-07T03:23:54.133 回答
0

通常,会话是通过 cookie 处理的。每个浏览器实现(IE、Chrome)都有自己的 cookie 存储。因此,如果没有一些重要的变通方法,不同的浏览器实现将无法共享会话。

同一浏览器的多个实例可以引用同一会话,因为它们都可以访问相同的 cookie。这可以描述为“多个浏览器”。

于 2012-08-07T03:23:36.043 回答