Мы как бы стреляли в ногу на клиентском сайте в отношении Microsoft Sync Framework при устранении неполадок в конкретной производственной проблеме ...
В качестве системы записи данных у нас есть центральный сервер, который предоставляет службу WCF, через которую мы используем Sync Framework 2.0 для синхронизации данных с отключенными клиентскими экземплярами. (Многие детали реализации неизвестны, это унаследованная кодовая база.) При устранении проблемы на компьютере пользователя в какой-то момент в прошлом было принято решение стереть локальную базу данных конкретного клиента и заменить ее известной хорошая копия с другого клиента.
Все , казалось, какое-то время работало. Но в реализации была одна деталь, которая была нам неизвестна в то время. Внутренняя синхронизация отслеживает идентичность клиентской базы данных. Это означало, что сервер не мог различить двух клиентов. Таким образом, один будет синхронизировать их данные, а другой останется в неизвестном состоянии.
Мы определили затронутых пользователей, мы идентифицируем затронутые данные и проводим мозговой штурм потенциальных решений. В этой последней части мне интересно, есть ли у кого-нибудь здесь какой-либо опыт работы с Sync Framework и может ли он предложить потенциальный курс действий?
Один из возможных подходов, который мы рассматриваем, заключается в том, чтобы определить, где и как Sync внутренне отслеживает эту идентификацию (возможно, GUID где-нибудь?) И изменять ее. Это похоже на самое быстрое исправление, хотя, по крайней мере, у нас по-прежнему не будет необходимости снова касаться затронутых записей, чтобы снова запустить их синхронизацию.
Мы не хотим рисковать потерей данных, поэтому не решаемся отбросить клиентские базы данных и повторно предоставить их. Но более важно то, что процесс подготовки новой базы данных является значительным ударом по ресурсам и простоям пользователей в текущей настройке, поэтому по возможности этого следует избегать.
Кто-нибудь здесь имеет опыт работы с Sync Framework? Кто-нибудь сталкивался с этой проблемой раньше? Какие пути подхода вы бы предложили?