在我的应用程序中,我不允许用户使用同一用户多次登录应用程序。每次他登录到系统时,我都会在数据库中更新他登录的状态,在他注销后,他的状态也会更新。我的问题是,如果有一个错误,由于任何原因和应用程序崩溃,他将无法登录。我的问题是,是否有任何方法可以让应用程序检测用户是否空闲15分钟并激活他的状态。我正在编程我的应用程序在c#和我的数据库是MySQL数据库。请告诉我该怎么做。由于
可以将用户最后一次请求的时间存储在数据库中,如果超过15分钟,则该用户处于空闲状态
如果您想要一个更健壮的解决方案,允许立即重新登录,您可以将CONNECTION_ID()
的结果存储在表中。待用户正常注销后,重新设置为"NULL
"。如果连接ID不是NULL
,您可以使用SHOW PROCESSLIST
来确定连接是否仍然存在。如果不是,应用程序已经崩溃,您可以允许登录。当然,这取决于您的应用程序只与数据库建立一个持久连接。