0

我有由于会话对象的所有multpile标签浏览器的一个问题。我有一个要求,无论何时用户打开一个新的浏览器,我需要显示不同的值,所以我想在IE 6中使用会话,每个浏览器创建一个新的会话。但所有其他多选项卡的浏览器IE 7和IE 8和FF共享会话(如果用户已经打开浏览器并尝试打开不同的浏览器)。有人可以告诉我,如何在用户打开新的浏览器窗口时创建新会话。我的应用程序基本上在ASP.NET和服务器端我们有VB.NET。IE 7,IE 8等多个选项卡的浏览器会话问题

回答

5

这是因为使用的是基于cookie的会话。您的网页指示浏览器在本地存储一个包含数据的小文件,并且只要浏览器请求页面,该数据就会发送回Web服务器。此Cookie文件在浏览器实例中的所有选项卡之间共享。

通常,这是用户所期望,所以你应该有,如果你想改变它一个很好的理由是什么,但如果需要的解决方案是使用查询字符串来存储会话标识符。这是在你的web.config文件由sessionState元素的cookieless属性的值设置为UseUri配置。 See here for the documentation on the sessionState element

+0

Thnaks的答复,但我不能改变的web.config中,是否有任何其他的方式来处理呢?而且我的要求是有多个窗口,而不是multipe片(所以,如果用户打开多个标签页,然后it'sk,只有当用户打开一个新的浏览器,我需要显示DIFF值) – Punit 2010-01-08 08:04:25

+0

对不起它不与IE 7的问题,只能用IE 8和火狐 – Punit 2010-01-08 08:09:25

+0

你不能改变web.config?为什么不?您可以在Global.asax的Application_Start事件中更改设置,但如果无法更改配置,我怀疑可以更改此设置。 – 2010-01-08 08:26:34