我有一个Windows应用程序,它通过WCF服务连接到服务器,数据库在服务器上。要使用此软件,您必须登录。因此,如果UserA的帐户被另一个人记录(在另一台计算机上),我想向正在使用该软件的UserA显示通知。
请帮忙!
答案 0 :(得分:0)
对服务进行登录服务操作会返回一个标志,指示此帐户是否正由另一个用户同时使用。
// Pseudocode
LogonResponse response = Service.Logon :> username, password;
if response.UserAccountIsAlreadyLoggedOn print "User logged on already!"
要做到这一点,服务必须持久保存所有用户的登录状态,可能在数据库中。
您的登录服务操作需要查询操作调用者呈现的用户帐户的登录状态。
// Pseudocode
public LogonResponse Logon (string username, string password)
{
if database.IsThisAccountAlreadyLoggedOn :> username ?
return LogonResponse :> UserAccountIsAlreadyLoggedOn = true;
otherwise
return LogonResponse :> UserAccountIsAlreadyLoggedOn = false;
}
这是我能想到的最简单的方法。