我有一个 Windows 应用程序,它通过 WCF 服务连接到服务器,数据库在服务器上。要使用此软件,您必须登录。因此,如果 UserA 的帐户被其他人登录(在另一台计算机上),我想向正在使用该软件的 UserA 显示通知。
请帮忙 !
我有一个 Windows 应用程序,它通过 WCF 服务连接到服务器,数据库在服务器上。要使用此软件,您必须登录。因此,如果 UserA 的帐户被其他人登录(在另一台计算机上),我想向正在使用该软件的 UserA 显示通知。
请帮忙 !
使您对服务的登录服务操作返回一个标志,该标志指示该帐户是否正被另一个用户同时使用。
// 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;
}
这是我能想到的最简单的方法。