1

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

请帮忙 !

4

1 回答 1

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

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

于 2012-07-27T11:13:24.823 回答