Использование данных из RSS- и Atom-каналов
Компоненты веб-синхронизации Sync Framework позволяют реплике стать потребителем каналов RSS или Atom и применять элементы каналов к своему хранилищу данных. Платформы Sync Framework внутренним образом представляют канал в виде службы синхронизации и используют компоненты Sync Framework для синхронизации элементов канала между поставщиком канала и поставщиком, представляющим реплику. Поэтому в приложении остается реализовать только методы для преобразования идентификаторов и данных элементов из формата XML, который поставляется каналом. Платформа Sync Framework выполняет общие задачи синхронизации, такие как обнаружение изменений, выявление конфликтов и применение изменений к хранилищу данных.
Чтобы использовать данные из канала, приложение создает объект потребителя канала и предоставляет следующие элементы:
службы синхронизации, представляющего реплику, в которой будут применяться преобразованные элементы канала;
объекты преобразователей идентификаторов и элементов;
поток, содержащий RSS-каналы или Atom-каналы, данные из которых надо использовать.
Затем приложение вызывает соответствующий метод объекта потребителя канала. Чтобы стать потребителем канала, платформа Sync Framework создает оболочку для канала в виде службы синхронизации и запускает сеанс синхронизации, в котором в качестве поставщика источника выступает поставщик канала, а в качестве поставщика назначения — локальный поставщик. Во время обработки платформы Sync Framework вызывают преобразователей идентификаторов и данных элементов для их преобразования в формат, используемый репликой. После этого изменения элементов применяются локальным поставщиком к реплике. По завершении обработки реплика содержит элементы, взятые из канала FeedSync.
Дополнительные сведения о реализации объектов преобразователя идентификаторов и элементов см. в разделе Преобразование идентификаторов и элементов для RSS- и Atom-каналов.
Дополнительные сведения о каналах FeedSync см. на веб-сайте FeedSync.
Использование данных из канала с помощью управляемого кода
Для использования канала FeedSync вначале с помощью метода FeedConsumer создается объект FeedConsumer, который передается следующим объектам:
объекту FeedIdConverter, реализуемому приложением;
объекту FeedItemConverter, реализуемому приложением;
объекту KnowledgeSyncProvider, представляющему реплику, в которой будут применяться преобразованные элементы канала.
После этого вызывается ConsumeFeed, которому передается объект Stream, который содержит RSS-каналы или Atom-каналы, данные из которых надо использовать. По завершении обработки реплика содержит элементы, взятые из этого канала.
Использование данных из канала с помощью неуправляемого кода
Для использования канала вначале создается экземпляр IProducerConsumerServices с помощью передачи CLSID_FeedSyncServices и IID_IFeedProducerConsumerServices функции CoCreateInstance. Затем с помощью IFeedProducerConsumerServices::CreateFeedConsumer создается объект IFeedConsumer.
Для использования канала вызывается метод IFeedConsumer::ConsumeFeed, который передается следующим объектам:
объекту IFeedIdConverter, реализуемому приложением;
объекту IFeedItemConverter, реализуемому приложением;
объекту ISyncProvider, представляющему реплику, в которой будут применяться преобразованные элементы канала;
объекту IStream, содержащему RSS-каналы или Atom-каналы, данные из которых надо использовать.
По завершении обработки реплика содержит элементы, взятые из канала, содержащегося в объекте IStream.
См. также
Справочник
Интерфейс IFeedProducerConsumerServices
Интерфейс IFeedConsumer
Microsoft.Synchronization.FeedSync
FeedConsumer
Основные положения
Синхронизация веб-каналов
Компоненты веб-синхронизации Sync Framework