0

SQLCEレプリケーションを使用してSQLCEデータベースをSQLServer2005または2008データベースと同期する(マージレプリケーションを使用)レガシーWindowsMo​​bile5アプリのバグに取り組んでいます。

アプリケーションにはバグに関連しているとは思わない動作がいくつかありますが、その副作用がどのようなものか興味がありました。コードは、Synchronizeを呼び出す前に、SqlCeReplicationオブジェクトで「ReinitializeSubscription(true)」を呼び出すことになります。「true」フラグは、再初期化する前に変更をアップロードするようにreinitに指示するだけです。これは問題ありません。毎回潜水艦を再開する具体的な理由があるとは思いませんが、それはそれが行うことです...

Synchronizeを呼び出すたびに、SqlCeReplicationオブジェクトでReinitializeSubscriptionを呼び出すとどのような影響がありますか?単にパフォーマンスが低下するのでしょうか、それとも、同期の前にReinitializeSubscriptionを呼び出さないのと比較して、データの同期で実際に何か違うことをしているのでしょうか。

4

1 に答える 1

1

重大なクライアントの問題が発生している場合を除き、同期のたびに再初期化しないでください。これにより、(変更のアップロード後に) クライアント データベース全体がダウンロードされ、時間と帯域幅が消費され、ユーザー エクスペリエンスが低下します (データ セットが非常に小さく、もちろん、帯域幅は広いです)

于 2011-02-19T15:46:39.520 に答える