SqlCeReplication: использование ReinitializeSubscription перед каждой синхронизацией?

Я работаю над ошибкой в ​​устаревшем приложении Windows Mobile 5, которое использует репликацию SQL CE для синхронизации базы данных SQL CE с базой данных SQL Server 2005 или 2008 (с использованием репликации слиянием).

В приложении есть какое-то поведение, которое, как я считаю, не связано с ошибкой, но мне было любопытно, каковы могут быть побочные эффекты. Код заканчивается вызовом «ReinitializeSubscription (true)» для объекта SqlCeReplication перед вызовом Synchronize. Флаг «истина» просто указывает повторной инициализации загружать любые изменения перед повторной инициализацией, и это нормально. Я не верю, что есть конкретная причина повторно включать подлодку каждый раз, но это то, что она делает ...

Какое влияние оказывает вызов ReinitializeSubscription на объект SqlCeReplication перед каждым вызовом Synchronize? Это просто снижение производительности, или на самом деле происходит что-то другое с синхронизацией данных, по сравнению с тем, что не вызывается ReinitializeSubscription перед синхронизацией?


person Andy White    schedule 17.02.2011    source источник


Ответы (1)


Если у вас не возникают серьезные проблемы с клиентом, не выполняйте повторную инициализацию каждый раз при синхронизации, это приведет к загрузке всей клиентской базы данных (после загрузки изменений), потреблению времени и пропускной способности, а также неудовлетворительному взаимодействию с пользователем (если только ваш набор данных не очень мал и у вас, конечно, высокая пропускная способность)

person ErikEJ    schedule 19.02.2011