みんな、私は大きな問題を抱えています。
バックオフィス アプリケーションを実行していますが、編集可能なグリッド ビューを含むフォームがあるとします。
- 100人のユーザーがページにアクセス
- 100 人のユーザーがデータベースから提供されたデータとしてフォーム ページを表示します
- 100 人のユーザーがいくつかのフィールドを編集
- この例では、最終的なデータと一貫性をどのように制御しますか?
みんな、私は大きな問題を抱えています。
バックオフィス アプリケーションを実行していますが、編集可能なグリッド ビューを含むフォームがあるとします。
これに対する技術的解決策を計画して実装する前に、つまり. コードに基づいて、ソリューション全体を設計する必要があります。
つまり、100 枚の紙を 100 人の異なる人々に配り、それぞれにその Web フォームのコピーを配ったとします。その 100 人が自分の紙にメモを書き、順不同であなたに返します。
このシナリオで一貫性をどのように処理しますか? それに答えることができれば、それを実装することができます。
ただし、その形式で保持しているデータについて詳しく知らなければ、具体的なアドバイスを提供することは事実上不可能です。
あなたが本当に欲しいものに依存します。要件はありますか?あなたは提案を求めていますか?
考えられる解決策の 1 つ
編集が完了したときに呼び出される明示的な保存アクションがある場合、
別の可能な解決策
ステップ 3. からステップ7.までのループを回避したい場合は、ステップ 4. から 6. までを常にトランザクションでラップすることができます。これはかなり手間がかかり、もう少し作業が必要であり、全体的な並行性を効果的に低下させる可能性があります。
さらに別の可能な解決策
別の可能な解決策は、プロセスの離散性を減らし、より連続的なものにすることです。データのライブ フィードを提供します。
保存プロセスがある場合、解決されるまで赤の値は保存されません。
最後の (推奨される) 可能な解決策
明示的な保存アクションがない場合は、
リモート サービスが false を返す場合、ユース ケースは終了し、セルは変更できません。リモート サービスが true を返した場合、ユーザーはコンテンツを変更し、ユーザーがセルを離れるか、ページをリロードすると、リモート サービスはロックを解除します。
結論
よし、ちょっと手を振ったけど、噛むには十分な脂だ。考えてみてください。解決策はたくさんあります。