2009-06-24 71 views
2

我如何继续检查用户是否仍然活跃,就像每1分钟一样?我需要知道哪个用户目前处于活动状态,谁不在!我没有使用ASP.NET成员资格提供程序!假设一个用户同时从3个不同的位置登录,最多登录3个登录,如果同一个用户(即第4个登录)尝试从另一个位置再次登录,我想阻止第四次登录。如何检查用户是否仍然活动?

我对此也有一些问题!如果用户拔下连接电缆或关闭浏览器,我如何确定用户是否仍然活动?

回答

5

我需要更多关于你正在努力完成的事情的细节,因为你问了一个相当模糊的问题。但是,我认为确定用户是否活动的最好方法是检查他们的ASP.NET会话是否仍然存在。没有“准确的”方法来测试用户是否仍在浏览您的网站,因为他们可能正坐在那里阅读,或者是AFK,或者在他们的计算机上处​​于另一个程序中......如果不是数百个情景,可能存在数十个在客户端。

但是,用户的ASP.NET会话只会在用户的每个活动(GET,POST等)之间生存一段特定时间。通常在20分钟后,ASP.NET将清理用户会话,当它发生的时候,它会触发一个Session_End事件,这个事件可以在Global.asax或者自定义的HttpModule中处理。然后,您可以将该用户标记为在您自己的数据库中处于非活动状态,发送电子邮件或执行您需要执行的任何操作。

+0

无论如何感谢您的答案!我找到了自己的解决方案! – 2009-06-25 09:58:27

相关问题