Generar fuentes de átomo y RSS

Sync Services for FeedSync permite que una réplica publique sus datos a los suscriptores interesados como una fuente RSS o de átomo. Sync Services representa internamente la fuente como un proveedor de sincronización y utiliza los componentes de Sync Framework para sincronizar los elementos de fuente entre el proveedor de la fuente y un proveedor que representa a la réplica. Debido a esto, una aplicación tiene que implementar métodos para convertir los identificadores y datos de elemento al formato XML que la fuente espera. Sync Framework cuida de las tareas de sincronización comunes, como detectar los cambios, detectar los conflictos y aplicar los cambios a la fuente generada.

Para generar una fuente, una aplicación crea un objeto de productor de fuente y proporciona los elementos siguientes:

  • Proveedor de sincronización que representa la réplica que se va a crear.

  • Objetos de convertidor de elemento e identificador.

  • Una secuencia que contiene una fuente de átomo o de RSS vacía.

A continuación, la aplicación llama al método adecuado del objeto del productor de fuente para generar la fuente. Para generar la fuente, Sync Services for FeedSync encapsula la fuente en un proveedor de sincronización e inicia una sesión de sincronización que utiliza el proveedor local como el proveedor de origen y el proveedor de la fuente como el proveedor de destino. Durante el proceso, Sync Services llama al identificador y a los convertidores de elementos con el fin de convertir los identificadores y los datos de elemento al formato XML válido, y a continuación inserta los datos XML en la ubicación adecuada en la secuencia. Cuando se completa el proceso, la fuente de la secuencia contiene los elementos de la réplica junto con los metadatos de FeedSync sobre ellos. Esta secuencia se puede publicar a continuación en los suscriptores de la fuente utilizando un mecanismo adecuado.

Para obtener más información sobre cómo implementar objetos de convertidor de elemento e identificadores, vea Convertir los identificadores y elementos para fuentes de átomo y RSS.

Para obtener más información acerca de las fuentes FeedSync, vea el sitio web de FeedSync.

Generar la fuente utilizando código administrado

Para generar una fuente, cree primero un objeto FeedProducer usando FeedProducer y pasándolo a los objetos siguientes:

A continuación, llame a ProduceFeed y pásele un objeto Stream que contenga una fuente de átomo o RSS vacía. Cuando se complete el proceso, este objeto Stream contendrá una fuente de FeedSync que incluya los elementos de la réplica. Tenga en cuenta que la secuencia se debe abrir con acceso de lectura y escritura.

Para generar una fuente parcial, pase un objeto EndpointState a ProduceFeed. De esta forma se establece una línea base para una fuente incremental que contiene todos los elementos de réplica que no están contenidos en la línea base.

Generar la fuente utilizando código no administrado

Para generar una fuente, cree primero un objeto IFeedProducerConsumerServices pasando CLSID_FeedSyncServices y IID_IFeedProducerConsumerServices a la función CoCreateInstance: A continuación, cree un objeto IFeedProducer con IFeedProducerConsumerServices::CreateFeedProducer.

Para generar la fuente, llame a IFeedProducer::ProduceFeed y pásele los objetos siguientes:

  • Un objeto IFeedIdConverter implementado por una aplicación.

  • Un objeto IFeedItemConverter implementado por una aplicación.

  • Un objeto ISyncProvider que representa la réplica que se va a crear.

  • Un objeto IStream que contiene una fuente de átomo o de RSS vacía. Tenga en cuenta que la secuencia se debe abrir con acceso de lectura y escritura.

Cuando se complete el proceso, el objeto IStream contendrá una fuente de FeedSync que incluya los elementos de la réplica.

Para generar una fuente parcial, pase un objeto IEndpointState a IFeedProducer::ProduceFeed. De esta forma se establece una línea base para una fuente incremental que contiene todos los elementos de réplica que no están contenidos en la línea base.

Vea también

Referencia

Interfaz IFeedProducerConsumerServices
Interfaz IFeedProducer
Interfaz IEndpointState
Microsoft.Synchronization.FeedSync
FeedProducer
EndpointState

Conceptos

Componentes de Sync Services for FeedSync

Otros recursos

Sincronizar fuentes de átomo y RSS