asp.net - 如何在 ASP.NET 中检测 session 何时过期?

标签 asp.net session detect

我想跟踪用户是否丢失或其 session 是否过期。我现在需要准确地知道他们的 session 何时过期(+/- 5 分钟内)。现在,如果用户在浏览器中打开页面并在一天后返回,当他在一天后尝试执行某些操作时,我会知道该页面已过期 - 但实际上, session 在闲置一小时后就过期了。

我希望在服务器上每 5 分钟运行一个脚本,检查哪些 session 已过期并检测它们,然后将过期时间记录在数据库中。 如何让脚本在服务器上以如此短的时间间隔连续运行? 该脚本到底做了什么? 有更好的方法吗?

最佳答案

global.asax 中,您可以捕获 Session_End 事件。有关更多详细信息,请参阅此问题:

请注意,五分钟的超时不太可能实现,因为您必须等待 session 过期(= 通常 20 分钟)才能检测到不活动。因此,如果您确实需要较短的间隔,则需要

另一方面,你还需要

  • 确保打开浏览器五分钟不活动不会导致 session 被放弃(除非您希望用户在离开计算机去喝咖啡时丢失 session )。这种“自动保活”可以例如通过using JavaScript来实现。 。

关于asp.net - 如何在 ASP.NET 中检测 session 何时过期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875146/

相关文章:

node.js - 如何访问 socket.io 事件中的快速 session ?

具有多个程序的c++ makefile,源文件的自动检测

java - 我正在使用 daikon Chicory 进行不变检测,但遇到 java.lang.VerifyError

c++ - OpenCV - 奇数 HSV 范围检测

c# - 解析文本框中的日期时间

c# - DotNetOpenAuth:网络表单,入门

asp.net - 在LoginView的RoleGroup中找到控件

javascript - 开发时跨域AJAX调用 : possible?

session - Dart 中有类似 session 的东西吗?

c# - 创建 session 变量后,我可以在 asp.net 上以各种方式使用它吗?