2012-05-24 107 views
2

会话变量是否跨不同浏览器共享?如果没有,我可以通过类似于缓存功能的浏览器来共享信息,但范围更广。会话变量是否跨不同的浏览器共享?

+0

你是什么意思“在不同的浏览器”?你的意思是user1同时使用IE和FireFox,你想在它们之间分享会话吗? –

+0

是的,这就是我的意思,但正如其他人所建议的那样,我无法做到这一点,只能存储服务器端的信息。 – Pinoy2015

回答

1

该会话特定于用户的会话ID(通常存储在名为ASP.NET_SessionID的Cookie中),这在多个浏览器中不会相同(除非something is wrong)。

要在多个浏览器中保存数据,您将不得不将数据以其他格式(可能是数据库)存储在服务器端。如果数据需要特定于某些个人,那么您可能需要设置一个身份验证方案来正确限制数据给适当的用户。

+0

我在会话变量之前读取它在服务器中存储它的值。我有没有办法检索到这个? – Pinoy2015

+0

确实,会话数据存储在服务器端,但通过'Session'对象以外的方式检索数据是不现实的。我会研究持久化数据在ASP.NET的缓存或数据库或类似的东西。 –

1

这取决于您的会话实施支持什么。默认情况下,会话对于一个浏览器是唯一的,因为它是由浏览器发布的会话cookie标识的。只有发布cookie的浏览器会话才能识别服务器上的会话。

但是也有一些并非基于会话cookie(URL时,SQL Server支持),这将让你跨浏览器

1

号Session变量是绑仅由已知的会话标识符分享其他实现浏览器实例启动会话(或者在最近IE版本的更复杂的情况下,由底层引擎,但它仍然是所有的IE)。