Реализация приложения синхронизации
Приложение синхронизации — это программный компонент, который создает сеанс синхронизации, соединяет его с двумя службами синхронизации, использует этот сеанс для запуска синхронизации и размещает среду 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.
Дополнительные сведения см. в разделе Реагирование на события синхронизации.
См. также
Справочник
Другие ресурсы
Платформа Microsoft Sync Framework
Основные принципы построения пользовательских поставщиков
Реагирование на события синхронизации