0

データ仮想化を使用する場合にマルチユーザー シナリオで発生する可能性のある多くの問題を解決する方法について、ポインターや例はありますか? WPF と DataGrid について話しているとしましょう。オンデマンドでロードされる仮想化されたコレクションを実装することは、それほど難しくありません。ただし、元のクエリの一時的な結果が格納されるステージング領域がないと、次のような同時実行の問題が発生します。

  1. 新しいページをロードすると、誤ったデータがフェッチされる可能性があります (同時ユーザーがいくつかのレコードを追加および削除すると、レコードの合計数は同じになりますが、その結果、グリッドの上部のどこかに既に表示されている重複したエントリをページでフェッチすることになります)
  2. 新しいページをスクロールしてロードするときにグリッドでユーザーの選択を保持します。これにより、選択したアイテムがキャッシュから期限切れになり、再ロードされると、誰かがそれらを削除したことがわかります。すべての選択を解除してユーザーにメッセージを表示することもできますが、:/ また、Shift キーを押しながらクリック (複数選択) してリストの最後に近い場所を選択した場合、リストの中央にいくつかの項目が「表示」されたときにどうすればよいでしょうかいくつかの中間ページ (同時ユーザーが追加したアイテム) のロード時。
4

1 に答える 1