Приложения синхронизации
Приложение синхронизации — это программный компонент, который создает сеанс синхронизации, соединяет его с двумя службами синхронизации, использует этот сеанс для запуска синхронизации и размещает среду Sync Framework в ходе синхронизации. Приложение синхронизации также можно зарегистрировать для обработки событий, о которых сообщает платформа Sync Framework.
![]() |
---|
Платформа Sync Framework не определяет, как приложение получает и создает экземпляры служб и как приложение определяет, что служба запрашивает синхронизацию, и с какой службой необходима синхронизация. |
Реализация приложения синхронизации
Приложение синхронизации может быть реализовано с использованием управляемого или неуправляемого кода.
![]() |
---|
Sync Framework считает службы синхронизации достоверным кодом. Поэтому приложение, вызывающее службу синхронизации, должно установить доверительные отношения с поставщиком на основании явных знаний о поставщике или с помощью другого механизма, такого как цифровая подпись. |
Реализация приложения синхронизации в управляемом коде
Приложение создает и запускает сеанс синхронизации, выполняя следующие действия.
Создание объекта SyncOrchestrator.
Задание свойств LocalProvider и RemoteProvider оркестратора.
Задание направления синхронизации в свойстве Direction оркестратора. Для направления Upload объект LocalProvider является источником, а объект RemoteProvider — назначением. Для направления Download объект LocalProvider является назначением, а объект RemoteProvider — источником. Учтите, что использование значения DownloadAndUpload или UploadAndDownload позволяет выполнить двустороннюю синхронизацию.
Вызов метода Synchronize оркестратора. В результате от имени приложения создается сеанс, который будет обрабатывать все дополнительные задачи синхронизации. Если приложению необходимо отменить синхронизацию, можно вызвать метод Cancel.
Реализация приложения синхронизации в неуправляемом коде
Приложение создает и запускает объект сеанса синхронизации, выполняя следующие действия.
Создание объекта IApplicationSyncServices. Это выполняется вызовом метода CoCreateInstance и передачи его в службы CLSID_SyncServices для идентификатора CLSID и в службы IID_IApplicationSyncServices для идентификатора IID.
Создание объекта ISyncSession. Для этого вызывается метод IApplicationSyncServices::CreateSyncSession
Вызов метода ISyncSession::Start. Затем платформа Sync Framework обрабатывает все дополнительные задачи синхронизации. Если приложению нужно отменить синхронизацию, можно вызвать метод ISyncSession::Cancel.
После завершения синхронизации можно выполнить двустороннюю синхронизацию, создав другой объект сеанса, в котором поставщики источника и назначения меняются местами, и вызвав метод ISyncSession::Start в новом объекте сеанса.
Дополнительные сведения о создании приложения синхронизации см. в разделе Как создать неуправляемое приложение синхронизации.
События синхронизации
Приложение можно зарегистрировать для получения уведомлений о разнообразных событиях в ходе синхронизации. Обработка событий выполняется в основном для отслеживания хода выполнения и для реализации нестандартного разрешения конфликтов.
Управляемый код. Реализуйте методы обработки событий и зарегистрируйте их в объекте SyncOrchestrator или объекте SyncCallbacks.
Неуправляемый код. Используйте метод ISyncSession::RegisterCallback, чтобы зарегистрировать объект, в котором реализован интерфейс ISyncCallback.
Дополнительные сведения см. в разделе Реагирование на события синхронизации.
См. также
Справочник
Интерфейс IApplicationSyncServices
Интерфейс ISyncSession
Интерфейс ISyncCallback
SyncOrchestrator
SyncCallbacks
Основные понятия
Основные принципы синхронизации данных
Реагирование на события синхронизации