C# 空闲时间非活动检测

C# 空闲时间非活动检测,c#,mysql,idle-timer,C#,Mysql,Idle Timer,在我的应用程序中,我不允许用户与同一用户多次登录应用程序。每次他登录到系统时,我都会更新他登录的数据库中的状态,在他注销后,他的状态也会更新。我的问题是,如果由于任何原因出现错误,应用程序崩溃,他将无法登录。我的问题是,是否有任何方法可以让应用程序检测用户是否空闲15分钟并激活其状态。我正在用c#编写我的应用程序,我的数据库是MySQL数据库。请建议我怎么做。 谢谢您可以将上次用户请求的时间存储在数据库中,如果时间超过15分钟,则该用户处于空闲状态。如果您想要一个更健壮的解决方案,允许立即重新登

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

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

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

两个建议:1)您可以创建一个登录“过期”时间戳,该时间戳设置为初始登录或任何后续活动后15分钟。如果他们尝试在时间戳之后登录,请让他们。2) 你可以在撞车后清理干净。。。当应用程序正常关闭时,请在%appdata%(或其他位置)中的.settings文件中设置一些标志。如果应用程序启动后发现没有正常退出,请让他们再次登录。。。