Convertir los identificadores y elementos para fuentes de átomo y RSS

Al crear una aplicación que genera o consume una fuente RSS o de átomo, la mayor parte del trabajo se emplea en convertir los identificadores y datos de elemento entre el formato XML de la fuente FeedSync y el formato del proveedor de sincronización.

Convertir identificadores

La aplicación debe implementar un objeto convertidor de identificadores que pueda convertir los identificadores de réplica y los identificadores de elemento del formato de longitud flexible del proveedor en cadenas y viceversa. Asimismo, el convertidor de identificadores debe poder generar un identificador de réplica para un cambio anónimo. Un cambio anónimo se produce cuando el historial de FeedSync para un cambio no incluye un atributo by. El atributo by representa la réplica que realizó el cambio. Sin embargo, el esquema de FeedSync no requiere el atributo by y podría estar ausente. En este caso, se debe generar un identificador de réplica para el cambio combinando los valores when y sequence del cambio.

Código administrado: para convertir identificadores, una aplicación implementa un objeto FeedIdConverter.

Código no administrado: para convertir identificadores, una aplicación implementa un objeto IFeedIdConverter.

Convertir datos de elemento

La aplicación debe implementar un objeto convertidor de elementos que pueda convertir los datos de elemento del formato del proveedor local en el formato XML de la fuente y viceversa. Los datos XML se pueden representar como una estructura de nodos XML o como una cadena. En cualquier caso, corresponde a la aplicación asegurarse de que el formato XML es válido para la fuente, porque Sync Services no realiza ninguna comprobación de validez.

Código administrado: para convertir datos de elemento, una aplicación implementa un objeto FeedItemConverter. Este objeto debe proporcionar los datos en el formato que el proveedor local espera encontrar en la propiedad ChangeData del objeto SaveChangeContext que se envía al método SaveItemChange.

Código no administrado: para convertir datos de elemento, una aplicación implementa un objeto IFeedItemConverter. Este objeto debe proporcionar los datos en el formato que el proveedor local espera obtener del método ISaveChangeContext::GetChangeData del objeto ISaveChangeContext que se envía al método ISynchronousNotifyingChangeApplierTarget::SaveChange.

Vea también

Referencia

Interfaz IFeedIdConverter
Interfaz IFeedItemConverter
Microsoft.Synchronization.FeedSync
FeedIdConverter
FeedItemConverter

Conceptos

Componentes de Sync Services for FeedSync

Otros recursos

Sincronizar fuentes de átomo y RSS