空闲时间无效检测

时间:2013-06-21 20:45:45

标签: c# mysql idle-timer

在我的应用程序中,我不允许用户多次登录同一用户的应用程序。每次他登录系统时,我都会在他登录的数据库中更新他的状态,在他退出后,他的状态也会更新。我的问题是,如果由于任何原因导致错误并且应用程序崩溃,他将无法登录。我的问题是,如果用户空闲15,我可以用任何方式检测应用程序分钟并激活他的状态。我在c#中编写应用程序,我的数据库是MySQL数据库。请建议我该怎么做。 感谢

2 个答案:

答案 0 :(得分:0)

您可以将最后一个用户请求的时间存储在数据库中,如果超过15分钟,则他处于空闲状态。

答案 1 :(得分:0)

如果您想要一个更强大的解决方案,允许立即重新登录,您可以将CONNECTION_ID()的结果存储在您的表中。当用户正常注销时,请将其重新设置为NULL。如果连接ID不是NULL,则可以使用SHOW PROCESSLIST确定连接是否仍然存在。如果不是,则应用程序已崩溃,您可以允许登录。当然,这取决于您的应用程序只与数据库建立一个持久连接。