2010-10-13 36 views
0

我有关于在asp.net中多次登录的问题。当浏览器关闭时删除缓存

案例出现这种情况:

  • 用户X登录在网页浏览器 “USER1”。
  • 然后,用户Y也在另一个Web浏览器中以“user1”身份登录。
  • 用户Y收到错误消息“另一个用户登录某个帐户”。

这是按预期工作。

如果X,关闭他们的网络浏览器。然后再次尝试以“user1”身份登录。

  • X也得到“另一个用户登录某个帐户”。

因此,我试图调试,然后我发现会议是当网页浏览器关闭时删除,但缓存仍然保留在网页浏览器。

任何人都有关于如何清除缓存,当用户关闭他们的浏览器,(不是选项卡)的想法。

注意。

回答

0

当浏览器关闭时,没有可靠的方法来获取通知。

您可以做的最好的方法是获取通知,说明它仍然处于开启状态并实现您自己的超时。在定时器上使用ajax回调来ping服务器“我仍然打开”。将它设置为每5或10或30秒或任何你需要的,当你在那个时候没有在服务器上得到一个,你就知道浏览器已关闭。

+0

这不是所谓的“反向AJAX”或什么? (只是好奇) – RPM1984 2010-10-13 03:13:52

+0

@ RPM1984,不,“反向ajax”又名“彗星”又名“长轮询”是一种从服务器向客户端点播发送数据的方法。由于在这种情况下不想将数据从服务器发送回客户端,因此不需要保持连接处于打开状态。 – 2010-10-13 16:58:47