1

(申し訳ありませんが、ここでこの質問をスタックオーバーフローまたは他の関連サイトで行うべきかどうか正確にはわかりません。適切でない場合は移動してください)

各グループのメンバーが一緒にデータを作成する、無関係な学生のグループがいくつかあります。各メンバーは自分の資格情報を使用してクライアント デスクトップ アプリケーションにログインし、データをサーバーに送信します。他のグループ メンバーが資格情報でログインすると、新しいデータが表示されるはずです。

サーバーへの接続にエラーがあったのに、クライアントを動作させたいときに問題が発生します。サーバーに接続できなかった場合に停止したくないので、データを作成し、後でサーバーに送信します。

ここに問題があります。サーバーに接続せずに、クライアントでメンバーシップを作成し、彼が本当にグループに属していることを確認するにはどうすればよいですか?または、他のメンバーがローカルマシンに新しいデータを持っていることを確認して、同僚が見ることができるようにするにはどうすればよいですか?

別のローカル サーバーは使用したくありません。リモート サーバーとデータベースを備えたローカル マシンだけです。

4

1 に答える 1

1

サーバーが利用できない場合、その人がグループに属しているかどうかを知る唯一の方法は、その情報がクライアントに保存されているかどうかです。もちろん、誰かがグループから削除される可能性があり、(切断された)クライアントはそれを知りません。

これを解決するには、システムの使用方法によって異なります。

  1. メンバーシップがあまり頻繁に変更されない場合は、クライアントが保存したメンバーシップを、古すぎない限り使用できます(たとえば、4時間未満の場合、またはそのようなルールを使用します)。
  2. クライアントがサーバーに再接続するときはいつでも、N時間より古い場合はローカルデータが更新されることを確認する必要があります
  3. さらに、接続が再確立され、データがサーバーに送信されると、サーバーはもう一度チェックする必要があります。ユーザーがグループから削除された場合、サーバーはデータを拒否できます
于 2013-02-20T16:26:39.193 に答える