0

Sync で直面している問題について、ご理解とご協力をお願いいたします。

1) 同期する 50 のテーブル。6 つの共通スコープと 8 つのテンプレート ベースのスコープ (CLIENT テーブルの CLIENTID 列に基づいてパラメータ化) に分割されます。2) 異なる PC から SQL Azure への同期が行われます 3) C# WPF アプリから、クライアント (CLIENTID) を選択し、同期セットアップ (プロビジョニング) を実行してから、メソッドを使用して同期プロセスを開始します。

非常に頻繁に直面する問題: 1) ネットワーク接続の問題/タイムアウトの問題により、n 番目のクライアントで既に同期されているクライアントはほとんどなく、アプリを閉じる必要があります。その特定のクライアントで再度プロビジョニングを実行すると、Selectchanges または bulkInsert が見つからないという例外が発生することがあります。

2) 上記が発生した場合は、StoreProvision を解除してから再プロビジョニングします。これにより、クライアントとサーバーが同じデータセットを持つことになります。その後同期を続行すると、多くの INSERT CONFLICTS でエラーが発生して完了するまでに 7 時間かかります。

では、同期中にネットワーク接続が失敗すると、正常に実行されたスコープで COMMIT が発生しますか? または、正常に実行されたいくつかのスコープで、部分的な同期が残っていますか? e-provision と re-provision 以外に Insert Conflicts の数をなくす方法はありますか?

ありがとう

4

1 に答える 1

0

同期フレームワーク スコープのトランザクション スコープは、スコープ レベルにあります。スコープの同期が何らかの理由で中止された場合、そのスコープによって適用されたすべての変更がロールバックされます。

3 つのスコープがあり、そのうちの 1 つが失敗した場合、そのスコープのみがロールバックされ、他の 2 つがコミットされます。

デプロビジョニングするとき、ストア全体またはその特定のスコープのみをデプロビジョニング/再プロビジョニングしますか?

于 2012-06-27T10:59:37.583 に答える