如果此帐户记录在另一台计算机上,如何向当前帐户显示通知

时间:2012-07-27 10:40:41

标签: wcf

我有一个Windows应用程序,它通过WCF服务连接到服务器,数据库在服务器上。要使用此软件,您必须登录。因此,如果UserA的帐户被另一个人记录(在另一台计算机上),我想向正在使用该软件的UserA显示通知。

请帮忙!

1 个答案:

答案 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;
}

这是我能想到的最简单的方法。