Microsoft Sync Framework 是为应用程序、服务和设备启用协作和离线方案的综合性同步平台。它的特色在于提供了能够漫游、共享和离线提取数据的技术和工具。通过使用 Microsoft Sync Framework,开发人员可以构建同步生态系统,该生态系统能够将任何应用程序与任一网络的任意数据集成,无论它们存储在何处,使用何种协议。
Microsoft Sync Framework 最重要的功能是创建自定义同步提供程序。提供程序是代表同步副本的软件组件。副本是将要进行同步的特殊信息仓库,例如手持设备的文件系统。当代表数据源时,提供程序枚举其副本的变化。当代表目的端时,提供程序将变化应用于副本。如果源端和目的端数据在类型或架构方面存在差异,则每个提供程序都将执行各种必需的映射或转换。
Microsoft Sync Framework 包括大量支持常见数据源的提供程序。尽管您可以为这些数据源编写自定义提供程序,但建议您尽可能地使用 Microsoft Sync Framework 提供的提供程序。因为这样能够将开发时间减到最少,并使您能够重用经过测试的现成代码。包括下列提供程序:
部分参与方
部分参与方是指能够在设备上存储数据的设备。但这些设备无法直接从设备上启动可执行程序。部分参与方的重要特性在于它能够存储同步所需的元数据,并因此得以与任何完整参与方进行同步。部分参与方的一个例子是 U 盘。这些设备类似于硬盘,能够创建、更新或删除信息。但通常它们不提供使应用程序能够直接在设备上运行的接口。
同步示例
通过使用前面介绍的同步流程,我们将实际操作一次文件同步示例,该示例将说明 Microsoft Sync Framework 如何枚举更改并最终应用项目数据。在本例中有两个副本:副本 A 和副本 B。副本 A 启动与副本 B 的同步(即副本 A 是源而副本 B 是目标)。假定我们希望同步两个副本间的文件。要跟踪的项目是文件夹中的一个文件,表示为 In (例如,I1, I2, I3…)。创建新文件时 (I1) 与该文件相关联的元数据应更新如下:
总结
Microsoft Sync Framework 通过预创建提供程序或编写新的自定义提供程序,包含将应用程序集成到离线或基于协作网络所需的所有组件。无论采用的是哪种网络或设备类型,提供程序均使任何数据源能够参与数据同步。
在本文档中,我们已经讨论了 Microsoft Sync Framework 包含的主要组件。我们可以在文档中看到许多示例,这些示例说明了如何在 Microsoft Sync Framework 中使用知识以有效解决数据存储间交换信息的问题。最后,我们看到 Microsoft Sync Framework 启用了冲突检测,并且允许应用程序或提供程序通过各种机制有效解决冲突。