Я занимаюсь разработкой программного обеспечения, которое использует Merge Replication и SQL Compact для Windows Mobile 6. В настоящее время оно работает на 5 устройствах достаточно хорошо.
Проблемы, с которыми я столкнулся, таковы:
Схема должна была сильно измениться и будет продолжать изменяться по мере развития приложения. Произошли различные ошибки при репликации этих изменений схемы на устройство, загрузка не удалась из-за несоответствий схемы.
Подписки, срок действия которых истекает (через 14 дней) и не удается выполнить повторную инициализацию при загрузке - AKA, потенциальная потеря данных несинхронизированных данных до этого момента.
По сути, наихудший сценарий - потеря данных, и, когда репликация слиянием завершается неудачно, кажется, что пути возврата данных не существует. Мой метод до сих пор был удалить и создать подписку на устройстве. Я не слышал, чтобы это делали многие, хотя, похоже, все решает.
Долгосрочный план состоит в том, чтобы разнести это на 500+ устройств. Будем весьма благодарны за любые советы о людях, которые предприняли подобные проекты, и о том, как минимизировать потерю данных и сделать так, чтобы был соответствующий код обработки ошибок для восстановления после сбоев синхронизации.