我正在使用会话变量来存储一些数据。我希望在浏览器关闭或会话超时时数据丢失。一切都在IE和FF中工作,但Chrome在浏览器关闭后会持续存在会话变量。
var myName = Session["Name"];
if (myName == null) {
myName = "defaultName";
}
如果我关闭并重新打开chrome,它将不会落入if块,因为会话变量是持久的。 谷歌的Chrome关闭后,有没有办法确保会话变量丢失?
答案 0 :(得分:3)
记住HTTP是无状态协议,因此您无法确定用户是否已关闭浏览器或打开浏览器窗口。这就是我们使用会话超时的原因 - 您可以减少超时以关闭非活动会话,但这可能会导致其他用户的会话超时。
关闭浏览器并不意味着会话被销毁。但是在闲置一段时间后会被摧毁。
阅读本文:Session Handling,了解如何更好地处理会话超时的方法