Microsoft sync framework что это

Обновлено: 07.07.2024

Содержание

Архитектура

Поставщики используются для перечисления элементов в хранилище данных, каждый из которых идентифицируется идентификатором элемента. Кроме того, они также должны поддерживать метаданные синхронизации и состояние хранилища данных, чтобы изменения можно было быстро перечислить. Метаданные поддерживаются для каждого экземпляра хранилища данных ( реплики ), к которому подключен поставщик. Поддерживаемые метаданные включают идентификатор реплики, счетчик тактов (представляющий прогрессию во времени), журнал конфликтов, журнал захоронений и набор изменений, обнаруженных хранилищем данных ( знания ). Пара идентификатора реплики и счетчика тактов составляет version и кодирует состояние хранилища данных до этого времени. Sync Framework определяет набор операций для Knowledge объекта реплики: Contains который определяет, содержит ли хранилище указанное изменение, Union для объединения двух наборов знаний, Project для проецирования знаний для подмножества элементов и Exclude для создания нового набора знаний без изменения для подмножества элементов. Метаданными управляет служба хранения метаданных, которая использует внутрипроцессную базу данных SQL Server Compact для хранения метаданных для каждого поставщика.

API служб синхронизации работает путем создания сеанса синхронизации, представленного Session объектом. Сеанс синхронизации синхронизирует данные между двумя поставщиками синхронизации - одним для исходного хранилища данных, а другим - для места назначения. Экземпляры обоих поставщиков передаются Session объекту. Во время сеанса синхронизации поставщик назначения отправляет набор знаний магазина. Поставщик источника сравнивает сведения о месте назначения с изменениями, заданными в источнике, чтобы перечислить изменения и затем передать их в место назначения. Поставщик назначения проверяет, не противоречат ли изменения, и объединяет изменения и обновляет знания.

  1. Синхронизация моментальных снимков (синхронизация только для загрузки): данные в источнике данных (или его подмножестве) синхронизируются с клиентами.
  2. Синхронизация только для загрузки: данные в клиенте объединяются с исходной репликой.
  3. Двунаправленная синхронизация: оба источника данных можно изменять независимо, и изменения синхронизируются друг с другом. N-уровневая синхронизация достигается за счет выполнения нескольких двунаправленных синхронизаций.

Службы синхронизации для файловых систем

Поставщик служб синхронизации для файловых систем используется для синхронизации двух расположений файловой системы, которые могут быть либо локальными папками, либо общими сетевыми ресурсами. Помимо зеркального отображения новых файлов, также синхронизируются изменения в существующих файлах. Изменения в файлах обнаруживаются с помощью меток времени или, при желании, путем хеширования содержимого файла. Обнаруживаются конфликтующие изменения в одном и том же файле, и их можно настроить на автоматическое разрешение. В случае конфликтующих обновлений одного и того же файла более новые изменения будут сохранены. Если файл удален в одной реплике, но обновлен в другой, обновление будет иметь приоритет над удалением. Если два файла с разным содержимым созданы с одинаковым именем на двух репликах, во время операции синхронизации будет сохранен файл, созданный позже. Если операция переименования привела к тому, что файлы получили одно и то же имя, оба сохраняются путем переименования одного из них. Любое удаление можно настроить для перемещения файла в корзину , чтобы при необходимости его можно было восстановить. Поставщик служб синхронизации для файловых систем также предоставляет режим предварительного просмотра, в котором перечисляются действия, которые будут предприняты для операции синхронизации, без фактического выполнения операций, с тем чтобы пользователи могли просматривать вносимые изменения. Синхронизация выполняется в одноранговой сети . Ни Sync Framework, ни поставщик служб синхронизации для файловых систем не выполняют никакой аутентификации перед доступом к файлам; поэтому любая аутентификация - это работа приложения, использующего Sync Framework API. Файлы передаются без шифрования. Чтобы использовать шифрование при передаче, необходимо использовать настраиваемые поставщики, использующие зашифрованное TCP-соединение. Поставщик служб синхронизации для файловых систем также поддерживает статические фильтры для исключения файлов на основе подстановочных знаков или атрибутов. Однако в первом выпуске CTP поставщик служб синхронизации для файловых систем не синхронизирует ни дескрипторы безопасности NTFS, ни альтернативные потоки данных .

Службы синхронизации для FeedSync

В Sync Services для FeedSync поставщика может быть использован для помощи синхронизации реплик путем создания FeedSync включен канал , либо в RSS или ATOM форматы, которые затем могут быть подписаны заинтересованными сторонами. Поставщик также может использоваться для извлечения элементов из канала FeedSync и объединения изменений обратно в хранилище данных. Службы синхронизации для FeedSync используют другого поставщика для подключения к хранилищу данных.

Службы синхронизации для FeedSync предоставляют службы, которые можно использовать для синхронизации данных реплики с каналами RSS и Atom. (Реплика - это конкретный репозиторий информации, которая должна быть синхронизирована.) Используя службу производителя FeedSync, приложение синхронизации может работать с поставщиком синхронизации для создания списка элементов из реплики и помещения их в поток RSS или Atom XML. Затем эти элементы могут быть опубликованы для заинтересованных подписчиков. Точно так же служба потребителей FeedSync помогает приложению синхронизации принимать входной поток RSS или XML Atom, извлекать из него элементы, а затем использовать поставщика синхронизации для применения только соответствующих изменений к реплике. Поскольку Sync Framework лежит в основе обмена элементами каналов, два канала могут иметь перекрестную подписку и легко синхронизироваться друг с другом как одноранговые узлы в сообществе синхронизации. (Сообщество синхронизации - это набор реплик, которые поддерживают синхронизацию своих данных друг с другом.)

Лицензирование

Microsoft Sync Framework распространяется бесплатно на устройства Windows и Windows Mobile. Поддержка других платформ доступна через коммерческие комплекты лицензирования и портирования.

Microsoft Sync Framework — полнофункциональная платформа для синхронизации автономных и онлайновых данных, поддержки коллективной работы и автономного доступа к приложениям, сервисам и мобильным устройствам. Она независима от конкретных протоколов и баз данных и включает технологии и утилиты, которые поддерживают роуминг устройств (device roaming), обмен информацией и возможность переводить сетевые данные в автономное состояние перед их последующей синхронизацией в более позднее время.

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

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

Для работы с Sync Framework и примерами кода в этой статье вам понадобится установить Visual Studio 2010 и исполняющую среду Sync Framework версии 2.0 или выше. Вы можете скачать эту исполняющую среду вместе с Microsoft Sync Framework 2.0 Redistributable Package на сайте Sync Framework Developer Center.

Основы Sync Framework

Sync Framework состоит из четырех основных компонентов: исполняющей среды, сервисов метаданных, провайдеров и участников синхронизации.

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

Сервисы метаданных предоставляют инфраструктуру для хранения метаданных синхронизации, которые содержат информацию, используемую в сеансе синхронизации. Метаданные синхронизации включают сведения о версиях, обнаружении изменений и др. Эти метаданные можно также использовать при проектировании разработке собственных провайдеров.

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

Участником (participant) называют источник, откуда можно извлечь данные, подлежащие синхронизации. Участники бывают трех видов:полные, частичные и простые.

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

Частичные участники — устройства, которые могут создавать новые хранилища данных и хранить метаданные синхронизации, но не позволяющие выполнять синхронизирующие приложения. Частичным участником может быть USB-накопитель или смартфон. Заметьте, что частичный участник может синхронизировать данные с полным, но не с другим частичным участником.

Простые участники включают устройства, не умеющие хранить новые данные или выполнять приложения, а способные лишь предоставлять запрошенную информацию. Примеры простых участников — RSS-каналы или веб-сервисы Amazon и Google.

Провайдеры синхронизации

Провайдер синхронизации — компонент, который участвует в процессе синхронизации и обеспечивает синхронизацию данных одной реплики с данными других реплик. У вас должен быть один провайдер на каждую реплику.

Для синхронизации данных запускается сеанс синхронизации. В этом сеансе приложение подключается к провайдерам синхронизации для источника и получателя для передачи данных между репликами.

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

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

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

Провайдер веб-синхронизации (ранее Sync Services for FeedSync) поддерживает RSS- и ATOM-каналы. До FeedSync эта технология была известна под названием Simple Sharing Extensions и изначально была спроектирована Рэем Оззи (Ray Ozzie). Заметьте, что провайдер веб-синхронизации не заменяет существующие технологии вроде RSS- или Atom-каналов. Вместо этого он предлагает простой способ добавления средств синхронизации в существующие RSS- или Atom-каналы, чтобы они могли использоваться другими приложениями или сервисами независимо от платформы или устройства.

Провайдер синхронизации файлов (ранее Sync Services for File Systems) поддерживает синхронизацию файлов и папок в одной системе или между системами в сети. Он может использоваться для синхронизации файлов и папок в одной системе или в различных системах в сети. Вы можете синхронизировать файлы и папки в системах с файловыми системами NTFS, FAT или SMB. Провайдер использует модель метаданных Sync Framework для включения одноранговой (peer-to-peer) синхронизации файловых данных с поддержкой произвольных топологий (клиент-сервер, ячеистая сеть и одноранговые системы), в том числе съемных носителей. Провайдер синхронизации файлов также поддерживает инкрементальную синхронизацию, распознавание конфликтов и изменений, режимы с предварительным просмотром и без, а также фильтрацию и пропуск определенных файлов.

Работа со встроенными провайдерами синхронизации

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

Создать провайдер синхронизации файлов можно с помощью класса FileSyncProvider. Он расширяет класс UnManagedSyncProvider и реализует интерфейс IDisposable. Класс FileSyncScopeFilter позволяет включать или исключать файлы и папки, которые будут участвовать в процессе синхронизации.

FileSyncProvider распознает изменения в реплике, используя метаданные синхронизации. Эти метаданные содержат информацию обо всех файлах и папках, участвующих в синхронизации. На самом деле существует два вида метаданных синхронизации: метаданные реплики (replica metadata) и элемента (item metadata). Провайдер синхронизации файлов хранит метаданные для всех файлов и папок, участвующих в синхронизации. Впоследствии информация о размерах файлов, атрибутах и времени последнего обращения используется для распознавания изменений.

Откройте Visual Studio 2010 и создайте новый проект Windows Presentation Foundation (WPF). Сохраните его под именем SyncFiles. Откройте файл MainWindow.xaml и создайте WPF-форму по аналогии с тем, что показано на рис. 1.

*

Рис. 1. Пример приложения Sync

Как видите, у вас есть элементы управления для выбора папок-источников и папок-приемников. Также имеются элементы управления для отображения статистики синхронизации и содержимого папок.

Microsoft Sync Framework — полнофункциональная платформа для синхронизации автономных и онлайновых данных, поддержки коллективной работы и автономного доступа к приложениям, сервисам и мобильным устройствам. Она независима от конкретных протоколов и баз данных и включает технологии и утилиты, которые поддерживают роуминг устройств (device roaming), обмен информацией и возможность переводить сетевые данные в автономное состояние перед их последующей синхронизацией в более позднее время.

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

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

Для работы с Sync Framework и примерами кода в этой статье вам понадобится установить Visual Studio 2010 и исполняющую среду Sync Framework версии 2.0 или выше. Вы можете скачать эту исполняющую среду вместе с Microsoft Sync Framework 2.0 Redistributable Package на сайте Sync Framework Developer Center.

Основы Sync Framework

Sync Framework состоит из четырех основных компонентов: исполняющей среды, сервисов метаданных, провайдеров и участников синхронизации.

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

Сервисы метаданных предоставляют инфраструктуру для хранения метаданных синхронизации, которые содержат информацию, используемую в сеансе синхронизации. Метаданные синхронизации включают сведения о версиях, обнаружении изменений и др. Эти метаданные можно также использовать при проектировании разработке собственных провайдеров.

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

Участником (participant) называют источник, откуда можно извлечь данные, подлежащие синхронизации. Участники бывают трех видов:полные, частичные и простые.

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

Частичные участники — устройства, которые могут создавать новые хранилища данных и хранить метаданные синхронизации, но не позволяющие выполнять синхронизирующие приложения. Частичным участником может быть USB-накопитель или смартфон. Заметьте, что частичный участник может синхронизировать данные с полным, но не с другим частичным участником.

Простые участники включают устройства, не умеющие хранить новые данные или выполнять приложения, а способные лишь предоставлять запрошенную информацию. Примеры простых участников — RSS-каналы или веб-сервисы Amazon и Google.

Провайдеры синхронизации

Провайдер синхронизации — компонент, который участвует в процессе синхронизации и обеспечивает синхронизацию данных одной реплики с данными других реплик. У вас должен быть один провайдер на каждую реплику.

Для синхронизации данных запускается сеанс синхронизации. В этом сеансе приложение подключается к провайдерам синхронизации для источника и получателя для передачи данных между репликами.

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

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

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

Провайдер веб-синхронизации (ранее Sync Services for FeedSync) поддерживает RSS- и ATOM-каналы. До FeedSync эта технология была известна под названием Simple Sharing Extensions и изначально была спроектирована Рэем Оззи (Ray Ozzie). Заметьте, что провайдер веб-синхронизации не заменяет существующие технологии вроде RSS- или Atom-каналов. Вместо этого он предлагает простой способ добавления средств синхронизации в существующие RSS- или Atom-каналы, чтобы они могли использоваться другими приложениями или сервисами независимо от платформы или устройства.

Провайдер синхронизации файлов (ранее Sync Services for File Systems) поддерживает синхронизацию файлов и папок в одной системе или между системами в сети. Он может использоваться для синхронизации файлов и папок в одной системе или в различных системах в сети. Вы можете синхронизировать файлы и папки в системах с файловыми системами NTFS, FAT или SMB. Провайдер использует модель метаданных Sync Framework для включения одноранговой (peer-to-peer) синхронизации файловых данных с поддержкой произвольных топологий (клиент-сервер, ячеистая сеть и одноранговые системы), в том числе съемных носителей. Провайдер синхронизации файлов также поддерживает инкрементальную синхронизацию, распознавание конфликтов и изменений, режимы с предварительным просмотром и без, а также фильтрацию и пропуск определенных файлов.

Работа со встроенными провайдерами синхронизации

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

Создать провайдер синхронизации файлов можно с помощью класса FileSyncProvider. Он расширяет класс UnManagedSyncProvider и реализует интерфейс IDisposable. Класс FileSyncScopeFilter позволяет включать или исключать файлы и папки, которые будут участвовать в процессе синхронизации.

FileSyncProvider распознает изменения в реплике, используя метаданные синхронизации. Эти метаданные содержат информацию обо всех файлах и папках, участвующих в синхронизации. На самом деле существует два вида метаданных синхронизации: метаданные реплики (replica metadata) и элемента (item metadata). Провайдер синхронизации файлов хранит метаданные для всех файлов и папок, участвующих в синхронизации. Впоследствии информация о размерах файлов, атрибутах и времени последнего обращения используется для распознавания изменений.

Откройте Visual Studio 2010 и создайте новый проект Windows Presentation Foundation (WPF). Сохраните его под именем SyncFiles. Откройте файл MainWindow.xaml и создайте WPF-форму по аналогии с тем, что показано на рис. 1.

*

Рис. 1. Пример приложения Sync

Как видите, у вас есть элементы управления для выбора папок-источников и папок-приемников. Также имеются элементы управления для отображения статистики синхронизации и содержимого папок.

Содержание

Архитектура

Поставщики используются для перечисления элементов в хранилище данных, каждый из которых идентифицируется идентификатором элемента. Кроме того, они также должны поддерживать метаданные синхронизации и состояние хранилища данных, чтобы изменения можно было быстро перечислить. Метаданные поддерживаются для каждого экземпляра хранилища данных ( реплики ), к которому подключен поставщик. Поддерживаемые метаданные включают идентификатор реплики, счетчик тактов (представляющий прогрессию во времени), журнал конфликтов, журнал захоронений и набор изменений, обнаруженных хранилищем данных ( знания ). Пара идентификатора реплики и счетчика тактов составляет version и кодирует состояние хранилища данных до этого времени. Sync Framework определяет набор операций для Knowledge объекта реплики: Contains который определяет, содержит ли хранилище указанное изменение, Union для объединения двух наборов знаний, Project для проецирования знаний для подмножества элементов и Exclude для создания нового набора знаний без изменения для подмножества элементов. Метаданными управляет служба хранения метаданных, которая использует внутрипроцессную базу данных SQL Server Compact для хранения метаданных для каждого поставщика.

API служб синхронизации работает путем создания сеанса синхронизации, представленного Session объектом. Сеанс синхронизации синхронизирует данные между двумя поставщиками синхронизации - одним для исходного хранилища данных, а другим - для места назначения. Экземпляры обоих поставщиков передаются Session объекту. Во время сеанса синхронизации поставщик назначения отправляет набор знаний магазина. Поставщик источника сравнивает сведения о месте назначения с изменениями, заданными в источнике, чтобы перечислить изменения и затем передать их в место назначения. Поставщик назначения проверяет, не противоречат ли изменения, и объединяет изменения и обновляет знания.

  1. Синхронизация моментальных снимков (синхронизация только для загрузки): данные в источнике данных (или его подмножестве) синхронизируются с клиентами.
  2. Синхронизация только для загрузки: данные в клиенте объединяются с исходной репликой.
  3. Двунаправленная синхронизация: оба источника данных можно изменять независимо, и изменения синхронизируются друг с другом. N-уровневая синхронизация достигается за счет выполнения нескольких двунаправленных синхронизаций.

Службы синхронизации для файловых систем

Поставщик служб синхронизации для файловых систем используется для синхронизации двух расположений файловой системы, которые могут быть либо локальными папками, либо общими сетевыми ресурсами. Помимо зеркального отображения новых файлов, также синхронизируются изменения в существующих файлах. Изменения в файлах обнаруживаются с помощью меток времени или, при желании, путем хеширования содержимого файла. Обнаруживаются конфликтующие изменения в одном и том же файле, и их можно настроить на автоматическое разрешение. В случае конфликтующих обновлений одного и того же файла более новые изменения будут сохранены. Если файл удален в одной реплике, но обновлен в другой, обновление будет иметь приоритет над удалением. Если два файла с разным содержимым созданы с одинаковым именем на двух репликах, во время операции синхронизации будет сохранен файл, созданный позже. Если операция переименования привела к тому, что файлы получили одно и то же имя, оба сохраняются путем переименования одного из них. Любое удаление можно настроить для перемещения файла в корзину , чтобы при необходимости его можно было восстановить. Поставщик служб синхронизации для файловых систем также предоставляет режим предварительного просмотра, в котором перечисляются действия, которые будут предприняты для операции синхронизации, без фактического выполнения операций, с тем чтобы пользователи могли просматривать вносимые изменения. Синхронизация выполняется в одноранговой сети . Ни Sync Framework, ни поставщик служб синхронизации для файловых систем не выполняют никакой аутентификации перед доступом к файлам; поэтому любая аутентификация - это работа приложения, использующего Sync Framework API. Файлы передаются без шифрования. Чтобы использовать шифрование при передаче, необходимо использовать настраиваемые поставщики, использующие зашифрованное TCP-соединение. Поставщик служб синхронизации для файловых систем также поддерживает статические фильтры для исключения файлов на основе подстановочных знаков или атрибутов. Однако в первом выпуске CTP поставщик служб синхронизации для файловых систем не синхронизирует ни дескрипторы безопасности NTFS, ни альтернативные потоки данных .

Службы синхронизации для FeedSync

В Sync Services для FeedSync поставщика может быть использован для помощи синхронизации реплик путем создания FeedSync включен канал , либо в RSS или ATOM форматы, которые затем могут быть подписаны заинтересованными сторонами. Поставщик также может использоваться для извлечения элементов из канала FeedSync и объединения изменений обратно в хранилище данных. Службы синхронизации для FeedSync используют другого поставщика для подключения к хранилищу данных.

Службы синхронизации для FeedSync предоставляют службы, которые можно использовать для синхронизации данных реплики с каналами RSS и Atom. (Реплика - это конкретный репозиторий информации, которая должна быть синхронизирована.) Используя службу производителя FeedSync, приложение синхронизации может работать с поставщиком синхронизации для создания списка элементов из реплики и помещения их в поток RSS или Atom XML. Затем эти элементы могут быть опубликованы для заинтересованных подписчиков. Точно так же служба потребителей FeedSync помогает приложению синхронизации принимать входной поток RSS или XML Atom, извлекать из него элементы, а затем использовать поставщика синхронизации для применения только соответствующих изменений к реплике. Поскольку Sync Framework лежит в основе обмена элементами каналов, два канала могут иметь перекрестную подписку и легко синхронизироваться друг с другом как одноранговые узлы в сообществе синхронизации. (Сообщество синхронизации - это набор реплик, которые поддерживают синхронизацию своих данных друг с другом.)

Лицензирование

Microsoft Sync Framework распространяется бесплатно на устройства Windows и Windows Mobile. Поддержка других платформ доступна через коммерческие комплекты лицензирования и портирования.

Читайте также: