Вопрос обновления версии Sync Framework - PullRequest
1 голос
/ 08 января 2010

Для тех из вас, кто знаком с Microsoft Sync Framework, этот вопрос для вас. Это касается версии приложения. Допустим, я выпускаю версию 1.0 своего программного обеспечения, и из веб-службы версии 1.0 создается файл sdf локальной базы данных, и жизнь продолжается некоторое время, а пользователь использует приложение и помещает данные в локальную базу данных и все такое, ну, тогда выходит версия 2.0 моего программного обеспечения, и это изменения в базе данных (схема), такие как новые столбцы, новые таблицы, изменения нулевой способности и т. д ...

Как это работает, что если у пользователя есть данные в базе данных версии 1.0, и я опубликовал новый веб-сервис 2.0, потому что версия 2.0 программного обеспечения уже выпущена, а база данных версии 1.0 больше не может синхронизироваться с 2.0 веб-сервис, как я могу получить их данные из базы данных версии 1.0? Более того, как мне обновить всех до версии 2.0, не потеряв ни одной из своих данных 1.0?

Ответы [ 2 ]

1 голос
/ 13 января 2010

В нашем проекте, в котором используется среда синхронизации поверх WCF, мы поддерживаем разные версии данных. В нашем случае мы используем разные syncServerProviders в зависимости от того, какую версию данных использует клиент. При изменении схемы базы данных вы можете настроить поставщика синхронизации, написав em вручную, чтобы выбрать / обновить только те столбцы, которые поддерживаются версией данных клиентов.

0 голосов
/ 08 января 2010

Вы не можете снести v1. веб-служба (http://example.com/sync/v1.0/). Все ваши клиенты v1 продолжают синхронизироваться с веб-службой v1. Клиенты обновляются до v2. sdf посредством запуска сценариев развертывания, которые обновляют базу данных до v2. в процессе установки (CREATE, ALTER, DROP операторы). После обновления клиенты синхронизируются со службой v2 (http://example.com/sync/v2.0/).

После того, как все клиенты подтвердят обновление до v2, вы можете свернуть v1. веб-сервис. Если количество клиентов неизвестно, вы должны полагаться на бизнес-решение, как долго вы сохраняете v1. вверх. Нередко службы, поддерживающие 2-3 версии параллельно для поддержки старых клиентов.

...