我有asp.net网站,用户可以登录并注销 现在我需要捕获用户登录到站点的总持续时间。 所以要做到这一点,我需要知道两件事 1.登录时间 2.退出时间
在登录时我可以得到第一个“登录时间”,这很容易 现在第二件事情更复杂了。如何更新退出时间?我知道我可以在注销按钮上更新它但是如果用户直接关闭浏览器怎么办? 我已经设置了global.asax文件,但我不认为关闭浏览器时会触发“Session_End”事件。 我已经看到了一些网站,你在其中关闭浏览器窗口,它在对话框中显示“按Ok以留在页面上或按”取消“留在当前页面”。我想我可以使用UpdatePanel的PageMethods在这里完成我的任务。这可能吗?如果是,那么如何?
你们有没有其他想法找出用户的总登录时间?
谢谢。
答案 0 :(得分:1)
我没有尝试过这个,但您可以使用Window Close Event of the browser并使用AJAX page methods对服务器进行ASP.net AJAX调用以结束会话,您可以在{{1在您的应用程序的global.asax文件中的事件。
这种方法存在一些问题,因为窗口关闭事件不是100%保证触发,因为用户可以使用任务管理器简单地结束该过程。
检查https://stackoverflow.com/q/1824486/507184以获取用于检测浏览器关闭事件的基于jquery的解决方案
答案 1 :(得分:0)
您可以准确捕获从登录到注销的时间。如果您的用户登录,则用户在完成工作后退出。
您无法从登录到注销时获取完整时间。如果您的用户登录一次,并且永不回头,或者他们清除了他们的浏览器缓存并再次登录....
所以,最好的方法是,每15分钟检查一次用户的访问权限。最后15分钟,您的用户在您的网站上没有做任何事情,您认为他们已退出。