代码之家  ›  专栏  ›  技术社区  ›  Daniel Brink

在ASP.NET中打开具有新会话ID的新浏览器窗口

  •  6
  • Daniel Brink  · 技术社区  · 15 年前

    我需要打开第二个浏览器窗口或选项卡,但它必须具有不同的 session ID .

    从ASP.NET页面打开新的浏览器窗口很容易,但是它共享相同的cookie,因此 会话ID 和原件一起。

    我该怎么做?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Oded    15 年前

    这是一个浏览器限制——浏览器实例在运行时共享cookie数据(包括会话cookie),因此在标准浏览器中是不可能的。

    如果您可以选择运行不同的浏览器(例如IE和火狐),它们不会共享cookie,并且会有不同的会话。

    编辑:

    如果您在您的环境中控制了IIS主机头和DNS,则可以使用许多不同的域名-每个会话一个。

    浏览器将每个域名视为不同的服务器,并将创建不同的cookie(因此会话)。

        2
  •  3
  •   James Westgate    15 年前

    在IE中,您必须使用文件-新会话,或者您可以为选项卡/会话设置注册表项。您的选项卡将改变颜色,显示您正在使用的会话。

        3
  •  0
  •   codeulike    15 年前

    我认为没有一种方法可以做到这一点,因为cookie是在浏览器级别存储的——无论打开的窗口多大,您仍然拥有相同的cookie,因此会话也是相同的。

    如果你使用 Cookieless sessions 我不确定,尽管无炊事会议路线有很多缺点。

    编辑:根据您的情况,实现您尝试实现的目标的一种方法可能是使用多个不同的域名/URL,这些域名/URL都指向同一个ASP.NET站点,这将允许您将cookie和会话分开。但是如果每个浏览器需要2到3个以上的会话,那就太傻了。