根据饲料和存储限制使用一系列决策。例如:
连接到 Web 站点,并下载提要的 XML 源。提要下载引擎仅通过 HTTP 或安全超文本传输协议 (HTTPS) 协议下载提要和附件。
将提要源转换为 Windows RSS 平台本机格式,该格式基于 RSS 2.0 和附加的命名空间扩展。(本机格式本质上是所有受支持格式的超集。)为此,Windows RSS 平台需要 Microsoft XML (MSXML) 3.0 SP5 或更高版本。
将新的提要项目与提要商店中的现有提要项目合并。
当接收到预定的最大数量的项目时,从源存储中清除旧项目。
或者,使用后台智能传输服务 (BITS) 安排附件的下载。
充分利用 HTTP 以最大程度地减少浪费的带宽:
为了限制其对服务器的影响,Feed 下载引擎在 HTTP (RFC3229) 万维网链接中实现了 HTTP 条件 GET 与 Delta 编码相结合。此实现允许服务器传输更改的最小描述,而不是传输缓存在客户端上的全新资源实例。该引擎还支持使用 Microsoft Win32 Internet (WinInet) 的 HTTP gzip 支持进行压缩。
成功同步意味着提要已成功下载、验证、转换为原生格式并合并到商店中。响应 HTTP 条件 GET(If-Modified-Since、If-None-Match、ETag 等)的 HTTP 304 Not Modified 服务器响应也构成成功。
并定义移除标准:
以下属性直接影响同步操作后剩余的项目数。
PubDate——用于确定项目的“年龄”。如果未设置 PubDate,则使用 LastDownloadTime。如果提要是列表,则项目的顺序是预先确定的,并且忽略 PubDate(如果存在)。
MaxItemCount - 限制归档项目数量的每个提要设置。提要的 ItemCount 永远不会超过最大值,即使可以从提要中下载更多项目也是如此。
ItemCountLimit — 任何一个 Feed 的项目上限,通常定义为 2500。MaxItemCount 的值不得超过此限制。将 MaxItemCount 设置为 ItemCountLimit 以保留尽可能多的项目。
参考