Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测用户登录asp.net的总时间_Javascript_Asp.net - Fatal编程技术网

Javascript 检测用户登录asp.net的总时间

Javascript 检测用户登录asp.net的总时间,javascript,asp.net,Javascript,Asp.net,我有一个asp.net网站,用户可以登录,也可以注销 现在我需要捕获用户登录站点的总持续时间。 所以要做到这一点,我需要知道两件事 1.登录时间 2.注销时间 在登录时,我可以得到的第一件事是“登录时间”,这是相当容易的 现在第二件事更复杂了。如何更新注销时间?我知道我可以在注销按钮上更新它,但如果用户直接关闭浏览器呢? 我已经设置了global.asax文件,但我认为关闭浏览器时不会触发“会话结束”事件。 我看过一些网站,在那里你关闭浏览器窗口,它在对话框上显示“按Ok键停留在页面上,或按Ca

我有一个asp.net网站,用户可以登录,也可以注销 现在我需要捕获用户登录站点的总持续时间。 所以要做到这一点,我需要知道两件事 1.登录时间 2.注销时间

在登录时,我可以得到的第一件事是“登录时间”,这是相当容易的 现在第二件事更复杂了。如何更新注销时间?我知道我可以在注销按钮上更新它,但如果用户直接关闭浏览器呢? 我已经设置了global.asax文件,但我认为关闭浏览器时不会触发“会话结束”事件。 我看过一些网站,在那里你关闭浏览器窗口,它在对话框上显示“按Ok键停留在页面上,或按Cancel键停留在当前页面上”。我想我可以使用UpdatePanel的PageMethods来完成我的任务。这可能吗?如果是,那怎么办

你们有没有其他办法来确定用户的总登录时间


谢谢。

我还没有尝试过,但是您可以使用,并使用对服务器进行ASP.net AJAX调用,以结束会话,您可以在应用程序的global.asax文件中的
Session\u end
事件中捕获该会话

这种方法存在一些问题,因为不能100%保证触发窗口关闭事件,因为用户可以使用任务管理器简单地结束流程


检查基于jquery的检测浏览器关闭事件的解决方案,我还没有尝试过,但是您可以使用,并使用对服务器进行ASP.net AJAX调用来结束会话,您可以在应用程序的global.asax文件中的
Session\u end
事件中捕获该会话

这种方法存在一些问题,因为不能100%保证触发窗口关闭事件,因为用户可以使用任务管理器简单地结束流程


检查基于jquery的检测浏览器关闭事件的解决方案

您可以准确捕获从登录到注销的时间。如果您的用户登录,则用户在完成其工作后注销

您无法捕获从登录到注销的额外时间。如果您的用户登录一次,但从未返回,或者他们清除浏览器缓存并再次登录


所以,最好的方法是每15分钟检查一次用户的访问权限。过去15分钟,您的用户在您的网站上不做任何事情,您假定他们已注销。

您可以准确捕获从登录到注销的时间。如果您的用户登录,则用户在完成其工作后注销

您无法捕获从登录到注销的额外时间。如果您的用户登录一次,但从未返回,或者他们清除浏览器缓存并再次登录

所以,最好的方法是每15分钟检查一次用户的访问权限。过去15分钟,您的用户在您的站点上不做任何事情,您假设他们已注销。

由于用户在技术上仍然登录到您的服务器,所以我建议保留“登录”计时器正在运行--直到他们明确点击“注销”按钮或您的会话cookie过期。可能重复:由于用户在技术上仍然登录到您的服务器,我建议让“登录”计时器继续运行--直到他们明确点击“注销”按钮或您的会话cookie过期。可能重复: