Поделиться через


Приложения синхронизации

Приложение синхронизации — это программный компонент, который создает сеанс синхронизации, соединяет его с двумя службами синхронизации, использует этот сеанс для запуска синхронизации и размещает среду Sync Framework в ходе синхронизации. Приложение синхронизации также можно зарегистрировать для обработки событий, о которых сообщает платформа Sync Framework.

NoteПримечание.

Платформа Sync Framework не определяет, как приложение получает и создает экземпляры служб и как приложение определяет, что служба запрашивает синхронизацию, и с какой службой необходима синхронизация.

Реализация приложения синхронизации

Приложение синхронизации может быть реализовано с использованием управляемого или неуправляемого кода.

Security noteБезопасность Примечание.

Sync Framework считает службы синхронизации достоверным кодом. Поэтому приложение, вызывающее службу синхронизации, должно установить доверительные отношения с поставщиком на основании явных знаний о поставщике или с помощью другого механизма, такого как цифровая подпись.

Реализация приложения синхронизации в управляемом коде

Приложение создает и запускает сеанс синхронизации, выполняя следующие действия.

  1. Создание объекта SyncOrchestrator.

  2. Задание свойств LocalProvider и RemoteProvider оркестратора.

  3. Задание направления синхронизации в свойстве Direction оркестратора. Для направления Upload объект LocalProvider является источником, а объект RemoteProvider — назначением. Для направления Download объект LocalProvider является назначением, а объект RemoteProvider — источником. Учтите, что использование значения DownloadAndUpload или UploadAndDownload позволяет выполнить двустороннюю синхронизацию.

  4. Вызов метода Synchronize оркестратора. В результате от имени приложения создается сеанс, который будет обрабатывать все дополнительные задачи синхронизации. Если приложению необходимо отменить синхронизацию, можно вызвать метод Cancel.

Реализация приложения синхронизации в неуправляемом коде

Приложение создает и запускает объект сеанса синхронизации, выполняя следующие действия.

  1. Создание объекта IApplicationSyncServices. Это выполняется вызовом метода CoCreateInstance и передачи его в службы CLSID_SyncServices для идентификатора CLSID и в службы IID_IApplicationSyncServices для идентификатора IID.

  2. Создание объекта ISyncSession. Для этого вызывается метод IApplicationSyncServices::CreateSyncSession . Этому методу передаются два поставщика: поставщик назначения и поставщик источника.

  3. Вызов метода ISyncSession::Start. Затем платформа Sync Framework обрабатывает все дополнительные задачи синхронизации. Если приложению нужно отменить синхронизацию, можно вызвать метод ISyncSession::Cancel.

  4. После завершения синхронизации можно выполнить двустороннюю синхронизацию, создав другой объект сеанса, в котором поставщики источника и назначения меняются местами, и вызвав метод ISyncSession::Start в новом объекте сеанса.

Дополнительные сведения о создании приложения синхронизации см. в разделе Как создать неуправляемое приложение синхронизации.

События синхронизации

Приложение можно зарегистрировать для получения уведомлений о разнообразных событиях в ходе синхронизации. Обработка событий выполняется в основном для отслеживания хода выполнения и для реализации нестандартного разрешения конфликтов.

Управляемый код. Реализуйте методы обработки событий и зарегистрируйте их в объекте SyncOrchestrator или объекте SyncCallbacks.

Неуправляемый код. Используйте метод ISyncSession::RegisterCallback, чтобы зарегистрировать объект, в котором реализован интерфейс ISyncCallback.

Дополнительные сведения см. в разделе Реагирование на события синхронизации.

См. также

Справочник

Интерфейс IApplicationSyncServices
Интерфейс ISyncSession
Интерфейс ISyncCallback
SyncOrchestrator
SyncCallbacks

Основные понятия

Основные принципы синхронизации данных
Реагирование на события синхронизации

Другие ресурсы

Платформа Microsoft Sync Framework