2008-10-14 66 views
1

摘要:使用Windows资源管理器浏览ASP.NET网站时,弹出式窗口不会从父窗口“借用”会话cookie。ASP.NET:弹出浏览器窗口和会话cookie

详细信息:

我正在研究ASP.NET网站(.NET 2.0)。我使用FormsAuthentication。这是使用cookie来处理会话的要求。

在页面上我有一个按钮。当用户点击它时,会打开一个弹出窗口。弹出窗口显示一个使用会话变量的ASPX页面,以前在父浏览器窗口中设置。我一直在使用IE(6,7,8)和Firefox 2.0测试网站。在所有这些浏览器中,弹出窗口都可以访问与父浏览器窗口相同的会话,并且一切正常。

我现在有一个客户端提出的错误,指出弹出窗口显示错误。查看日志文件,我可以看到在弹出页面尝试访问会话变量时它是一个NullReferenceException。与客户交谈时,他说他在Windows资源管理器中打开主网站!

我设法在测试机器上重新创建问题,并看到弹出窗口正在使用新的会话。

该机器必须安装Win XP的IE6! IE7的网站工作正常。

+1

同样的问题在这里,我可以重现它与以下步骤:他们没有启动IE浏览器,但浏览器和导航到那里的网站。 Explorer自动更改为IE,但此版本已损坏,无法与父窗口共享Cookie或会话密钥。 – 2011-01-28 14:49:35

回答

0

我的怀疑是,当从Windows资源管理器打开时(不是我完全理解你的意思),正在发回的会话cookie不会存储在任何地方,因此不能用于包含弹出窗口与它的要求。我看不出如何解决这个问题。是不是可以告诉客户端,这种访问应用程序的方式不被支持?

0

我看到了与IE 8相同的问题,这些问题不会发生在Firefox,Google Chrome或IE 6中。在我的情况,我可以看到,会话实际上是工作埠身份验证终止重定向用户登录页面,他再次登录...

+0

这正是我在我的情况下得到的行为。我还没有找到解决方案,但我以其他方式解决了我的问题。 您是否设法找出解决方案? 谢谢。 – 2009-06-29 09:47:23

相关问题