現在、機密データを返すために使用するサービス (wsHttp) を設計しています。クライアントがこのデータを要求するとすぐに、データベースからデータを取得し、リストをコンパイルしてから、データベースからデータを削除してリストを返します。
私の懸念は、クライアントに戻る途中で何かが発生することです (ネットワークの問題など)。データベースからデータを削除しましたが、クライアントはそれを取得しません。
ここには、すぐに使用できるソリューションはどれですか?
現在、機密データを返すために使用するサービス (wsHttp) を設計しています。クライアントがこのデータを要求するとすぐに、データベースからデータを取得し、リストをコンパイルしてから、データベースからデータを削除してリストを返します。
私の懸念は、クライアントに戻る途中で何かが発生することです (ネットワークの問題など)。データベースからデータを削除しましたが、クライアントはそれを取得しません。
ここには、すぐに使用できるソリューションはどれですか?
このためのすぐに使えるソリューションはありません。データが受信されたことを示す何らかの形式のユーザー/自動確認を実装し、これが返された場合にのみ削除する必要があります。
エド
これは、分散コンピューティング固有の問題です。簡単な解決策はありません。問題は、そのようなエラーから回復することがどれほど重要かということです。
たとえば、一部のレコードを削除した後にクライアントが切断された場合、次に接続すると、それらのレコードが削除されたものとして表示されます。彼がそれらを再度削除しようとしても (データは UI に残っています)、害はありません。
送金する銀行の場合、銀行間で発生したトランザクションを 2 番目のプロセスで照合するエラー解決メカニズムがあります。競合は手動で処理されます。
NServiceBusなどの一部のシステムは、MSMQ を使用してメッセージを保存し、最終的にはクライアント宛てのメッセージが再接続されるたびに到着するようにします。