为 RSS 和 Atom 馈送转换 ID 和项
在创建生成或使用 RSS 或 Atom 馈送的应用程序时,主要工作是实现 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