我用session["LoginName"]和数据表字段IsLogin记录了用户的登录情况,现在如果用户不是点“退出”正常退出,而是直接关闭IE退出的话,如何把session设为null和把数据表中的IsLogin字段设为‘0’?

解决方案 »

  1.   

    一般而言,只能等Session超时(TimeOut)了
      

  2.   

    问题是Global中的Session_End好像不执行啊,郁闷啊。
      

  3.   

    Session.Timeout = 5;
    是不是5秒后会执行Session_End函数?
      

  4.   

    关闭IE后,这个SESSION会自动清除掉吧
      

  5.   

    可以用js监视IE事件,然后使用dwr改变数据库中的值,我们的项目就是这么做的。
      

  6.   

    关闭浏览器并不能清除服务器端的session,服务器端的session要等到timeout,可以在destroy函数中改变数据库中字段的值。例如数据库种isload字段 0代表未登录,1代表登录。直接关闭浏览器时,使用dwr改变isload的值为0.session timeout时,也改变isload为0。js中的beforeonunload()函数可以监视浏览器的关闭。