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;
}
これは、これを進めるために私が考えることができる最も簡単な方法です。