-2

我已经在我的 Web 应用程序中声明了会话变量。当我通过选项卡关闭 Web 应用程序时,即当 Chrome 的选项卡关闭时,会话变量不会被清除。但是当我关闭整个窗口时,会话变量会被清除。有什么方法可以在刷新页面时清除会话变量?

4

4 回答 4

4

我认为您应该允许用户通过Session.Abandon()从注销按钮/链接调用来决定这一点。作为用户,您可能不希望会话因为您关闭了选项卡而过期。

您还可以使用Session.Clear()清除会话数据,但这不会删除该会话。如果您想在页面刷新时清除数据,那么您可以在Page_Load事件中调用它。注意Session.RemoveAll()会做同样的事情。

查看HttpSessionState了解更多信息,解释上述方法。

如果您希望会话在没有活动发生的情况下过期,请查看超时选项- 如果数据是个人/敏感数据并且您希望会话在公共机器(即 Internet Cafe)上过期,这可能很有用。

于 2013-09-12T12:34:24.837 回答
1

在Page_Load中使用 Session.Clear() 。刷新页面时会话将被清除。

于 2013-09-12T12:46:47.650 回答
0

会议。Clear - 从会话状态集合中删除所有键和值。

会议。Abandon - 删除存储在 Session 中的所有对象。

在您的 Page_Load 事件中使用它

于 2013-09-12T12:38:04.090 回答
0

尝试Session.Abandon()方法。

或者

会话.清除()

我认为您需要在方法中使用任何Page_Load方法。

于 2013-09-12T12:28:44.600 回答