Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在SQL Server 2008 R2中自动注销_C#_Sql_Sql Server_Wpf_Visual Studio - Fatal编程技术网

C# 在SQL Server 2008 R2中自动注销

C# 在SQL Server 2008 R2中自动注销,c#,sql,sql-server,wpf,visual-studio,C#,Sql,Sql Server,Wpf,Visual Studio,在SQL Server上的数据库中,我有一个包含用户的表。此表有一个名为logged_的列,其上有一个位,为true或false。当有人登录时,该列将为true,否则为false。如果有人在使用我的wpf应用程序时发生了什么情况,例如电源消失,应用程序无法注销用户,则此列为true,用户将无法再次登录,因为应用程序将告诉此用户他已登录。我能做些什么来避免这种情况吗?在服务器端还是在应用程序中 任何建议都值得赞赏:)听起来您需要稍微改变一下方法,也许可以跟踪最后一次交互日期/时间(每次WPF应用程

在SQL Server上的数据库中,我有一个包含用户的表。此表有一个名为logged_的列,其上有一个位,为true或false。当有人登录时,该列将为true,否则为false。如果有人在使用我的wpf应用程序时发生了什么情况,例如电源消失,应用程序无法注销用户,则此列为true,用户将无法再次登录,因为应用程序将告诉此用户他已登录。我能做些什么来避免这种情况吗?在服务器端还是在应用程序中


任何建议都值得赞赏:)

听起来您需要稍微改变一下方法,也许可以跟踪最后一次交互日期/时间(每次WPF应用程序调用SQL)并强制执行会话超时限制。除了*logged_on*位字段之外,您还可以使用该日期时间自动注销几分钟内未与服务器交互的任何人(如果日期时间太陈旧,则始终将*logged_on*切换为false)


在用户再次登录而不首先注销的情况下,是否有一个重要的原因不能丢弃旧的登录?

听起来您需要稍微改变一下方法,也许可以跟踪最后的交互日期/时间(每次WPF应用程序调用SQL)并强制执行会话超时限制。除了*logged_on*位字段之外,您还可以使用该日期时间自动注销几分钟内未与服务器交互的任何人(如果日期时间太陈旧,则始终将*logged_on*切换为false)

有没有一个重要的原因让你不能在用户再次登录而不首先注销的情况下丢弃旧的登录名?

我认为你需要一个“LastActive”日期时间戳。然后运行一个计划作业,该作业显示“如果您已处于非活动状态达X分钟,请更改登录标志的状态”

您是否试图确保同一时间只能有一个登录处于活动状态?游戏结束了吗?

我想你需要一个“LastActive”日期时间戳。然后运行一个计划作业,该作业显示“如果您已处于非活动状态达X分钟,请更改登录标志的状态”


您是否试图确保同一时间只能有一个登录处于活动状态?游戏结束了吗?

客户端是直接运行数据库还是通过某个服务器层?(是的,我知道你提到的是服务器端,但不确定你指的是SQL server还是其他什么)为什么不简单,让用户再次静默登录?这是为了什么?您是否试图限制并发登录会话的数量、登录用户的数量或其他内容?请使用实际的成员资格提供程序。你目前的解决方案有很多问题要列出。拉姆霍恩有很好的建议。这个问题以前已经解决过很多次了。客户端是直接针对数据库运行还是通过某个服务器层运行?(是的,我知道你提到的是服务器端,但不确定你指的是SQL server还是其他什么)为什么不简单,让用户再次静默登录?这是为了什么?您是否试图限制并发登录会话的数量、登录用户的数量或其他内容?请使用实际的成员资格提供程序。你目前的解决方案有很多问题要列出。拉姆霍恩有很好的建议。这个问题以前已经解决过很多次了。