asp.net 中的会话变量

发布于 2024-12-02 19:05:29 字数 137 浏览 2 评论 0原文

我有一个使用会话变量的 asp.net web 应用程序。当 session_end 被触发时,我清除会话值,但是当关闭前一个窗口后在新窗口中打开应用程序时,会话值将保留。

有没有一种方法可以消除会话值。

提前致谢 ... 帕尼

I have a asp.net webapplicatoin using session variables. I clear the session values when session_end is fired but the when the application is opened in a new window after closing the previous window, the session values retain.

is there a way that we can get rid of session values.

Thanks in advance ...
Phani

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

放我走吧 2024-12-09 19:05:29

仅关闭窗口时会话不会结束。会话在过期时结束。 ASP.NET 无法知道用户是否关闭了窗口。请参阅MSDN 有关 SessionStateModule.End 事件的内容

请参阅此回答以获得更彻底的解释。

在我的脑海中,您可以做的是检测用户何时关闭窗口,例如使用 jQuery 中的 unload() 事件,并向 Web 服务发送请求,然后结束会话。

A session does not end when simply closing a window. The session ends when it expires. ASP.NET has no way of knowing if a user closes the window. See MSDN on SessionStateModule.End Event

See this answer for a more thorough explanation.

Of the top of my head, what you could do is detect when the user closes the window e.g. using the unload() event in jQuery, and send a request to a webservice that then ends the session.

臻嫒无言 2024-12-09 19:05:29

新的窗口/选项卡不会创建新会话,新的浏览器实例会创建新会话。

此外,当会话结束时,会话变量也消失了。您只是无法控制 GC 何时从内存中删除它们,但它们不再可访问。

New windows/tabs don't create new sessions, new browser instances do.

Also, when the session ends, the session variables are gone. You just can't control when the GC deletes them from memory, however they are no longer accessible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文