2014-06-26 143 views
1

我正在使用会话变量来存储一些数据。我希望浏览器关闭或会话超时时数据丢失。一切工作在IE和FF中,但Chrome在浏览器关闭后仍然存在会话变量。浏览器关闭后Chrome浏览器中的会话变量仍然存在

var myName = Session["Name"]; 

if (myName == null) { 
    myName = "defaultName"; 

} 

它不会落入IF块,如果我关闭并重新打开Chrome,作为会话变量依然存在。 有没有办法确保在google的chrome关闭后会话变量丢失?

+1

也许你有另一个谷歌浏览器窗口仍处于打开状态或如一个托盘通知图标,这样虽然Google Chrome似乎已关闭,但该过程仍在运行? (尝试使用任务管理器查看Chrome进程)。 –

回答

3

记住HTTP是无状态协议,所以你不能确定用户是否已关闭浏览器或打开浏览器窗口。这就是我们使用会话超时的原因 - 您可以减少超时以关闭非活动会话,但这可能会导致其他用户的会话超时。

关闭浏览器并不意味着会话被销毁。但在空闲时间后会被摧毁。

阅读:Session Handling一些工作围绕如何处理会话超时的方法更好

+0

是的,我认为这是类似的东西。我很好奇,为什么关闭Firefox或IE会立即杀死会话,并且在一段时间后Chrome会被销毁。 – Mefhisto1

+0

正确,会话超时需要管理。 IE或Firefox的更高版本可能会立即终止会话,但降低版本可能不会。 –

相关问题