为 RSS 和 Atom 馈送转换 ID 和项

在创建生成或使用 RSSAtom 馈送的应用程序时,主要工作是实现 FeedSync 馈送 XML 格式的 ID 和项数据与同步提供程序格式的 ID 和项数据的相互转换。

转换 ID

应用程序必须实现 ID 转换器对象,该对象可以将副本 ID 和项 ID 从提供程序的可变长度格式转换为字符串,反之亦然。而且,ID 转换器必须能为匿名变更生成副本 ID。当变更的 FeedSync 历史记录不包含 by 值时,会发生匿名变更。by 属性表示执行变更的副本。但是,by 属性对于 FeedSync 架构不是必需的,可能不提供。在这种情况下,必须通过结合变更的 sequence 和 when 值为变更生成副本 ID。

托管代码:若要转换 ID,要求应用程序实现 FeedIdConverter 对象。

非托管代码:若要转换 ID,要求应用程序实现 IFeedIdConverter 对象。

转换项数据

应用程序必须实现项转换器对象,该对象可以将项数据从本地提供程序格式转换为馈送的 XML 格式,反之亦然。XML 数据可以表示为 XML 节点结构或字符串。无论采用哪种表示方法,都要求应用程序确保 XML 格式对于馈送有效,因为 Sync Framework 不执行任何有效性检查。

托管代码:若要转换项数据,要求应用程序实现 FeedItemConverter 对象。此对象必须以本地提供程序期望在 SaveChangeContext 对象(将此对象发送给 SaveItemChange 方法)的 ChangeData 属性中找到的格式提供数据。

非托管代码:若要转换项数据,要求应用程序实现 IFeedItemConverter 对象。此对象必须以本地提供程序期望从 ISaveChangeContext 对象(将此对象发送给 ISynchronousNotifyingChangeApplierTarget::SaveChange 方法)的 ISaveChangeContext::GetChangeData 方法中获取的格式提供数据。

请参阅

参考

IFeedIdConverter 接口
IFeedItemConverter 接口
Microsoft.Synchronization.FeedSync
FeedIdConverter
FeedItemConverter

概念

同步 Web 馈送
Sync Framework Web 同步组件