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


Использование данных из 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