Я работаю над изменениями в приложении, чтобы иметь локальное хранилище данных вместо прямого подключения к серверу базы данных. Затем клиентское приложение будет синхронизировать изменения в обоих направлениях между базой данных сервера и его локальным хранилищем данных. Я пытаюсь реализовать решение для синхронизации с помощью Microsoft Sync Framework. Чтобы было ясно, что нет серверного приложения, только сервер базы данных, но есть несколько клиентов.
Я начал реализовывать два класса, которые реализуют FullEnumerationSimpleSyncProvider, один называется LocalSyncProvider, а другой - ServerSyncProvider. LocalSyncProvider знает, как перечислять, вставлять, обновлять, удалять элементы из локального хранилища данных, а ServerSyncProvider знает, как перечислять, вставлять, обновлять, удалять элементы с сервера базы данных. Каждый из них использует предоставленный SqlMetadataStore и сохраняет два хранилища метаданных (одно для локального и одно для сервера) на локальном диске клиента. Это означает, что каждый клиент будет иметь свое собственное хранилище метаданных для своего локального хранилища данных и свое собственное хранилище метаданных для базы данных сервера.
Действительно ли это сработает, должен ли существовать только один сервер метаданных хранилища, или мне нужно использовать Sync Framework по-другому?