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


Использование данных из RSS-каналов и каналов Atom

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

Чтобы использовать данные из канала, приложение создает объект потребителя канала и предоставляет следующие элементы:

  • поставщика синхронизации, представляющего реплику, в которой будут применяться преобразованные элементы канала;

  • объекты преобразователей идентификаторов и элементов;

  • поток, содержащий RSS-каналы или каналы Atom, данные из которых надо использовать.

Затем приложение вызывает соответствующий метод объекта потребителя канала. Для использования канала службы Sync Services for FeedSync передают его службе синхронизации и начинают сеанс синхронизации, в котором поставщик канала используется в качестве источника, а локальный поставщик — в качестве назначения. Во время обработки службы Sync Services вызывают преобразователи идентификаторов и данных элементов для их преобразования в формат, используемый репликой. После этого изменения элементов применяются локальным поставщиком к реплике. По завершении обработки реплика содержит элементы, взятые из канала 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 Services for FeedSync

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

Синхронизация RSS-каналов и каналов Atom