我们的许多内部和外部用户启动我们的Web应用程序。然后在稍后的一段时间,他们从浏览器中打开一个新窗口。他们想要运行2个独立的应用程序会话。但是,通过这样做,他们实际上使用相同的会话数据。如何判断2个浏览器窗口是否共享会话?
有没有一种方法,在代码中,以确定是否有另一个浏览器窗口打开相同的会话?
我们使用VS 2008,C#和/或VB.Net。
谢谢。
COMBINING我的回复从下面:
也许我说这是错误的。当他们打开第二个窗口并将其更改为其他窗口小部件编号,然后返回到原始窗口时,在下一个回发窗口中将使用第二个窗口的窗口小部件编号,而不是其自己的窗口小部件编号
我们正在使用IE7。
谢谢!我想要做的是应用程序启动时检查是否有另一个窗口使用同一个cookie/session,如果是,请关闭并在新的cookie/session中打开该应用程序。我知道如何在新会话中打开应用程序,但不知道如何检查它是否共享cookie /会话? – Jim 2009-11-04 14:13:36
要做到这一点,您需要使用每个GET或POST发送到服务器的每个浏览器窗口的唯一标识符。也许你可以在javascript页面载入事件中生成一个随机的“窗口ID”(参考http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript),并将其存储在URL查询字符串或一个cookie,所以它在GET和POST都发送到服务器。 然后,服务器端代码需要通过会话跟踪窗口ID,并在看到与同一会话关联的2个不同窗口ID时采取行动。 我只会这样做,如果你真的需要寿! – saille 2009-11-04 20:01:18