Compartir a través de


Generar fuentes RSS y Atom

Los componentes de sincronización web de Sync Framework permiten que una réplica publique sus datos para los suscriptores interesados como una fuente RSS o Atom. Los componentes de sincronización web representan internamente a la fuente como un proveedor de sincronización y utilizan 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 Framework encapsula la fuente en un proveedor de sincronización e inicia una sesión de sincronización que utiliza el proveedor local como proveedor de origen y el proveedor de la fuente como proveedor de destino. Durante el proceso, Sync Framework 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

Sincronizar fuentes web
Componentes de sincronización web de Sync Framework