实现简单自定义提供程序

Sync Framework 提供各种 API:从域特定的 API(如文件同步提供程序)到适用于同步各种数据存储区的开放式核心 API,应有尽有。简单提供程序 API 处于这两类 API 的中间位置。它们给予开发人员核心 API 的强大功能和良好的灵活性,但是更好掌握,涉及的代码更少,特别适用于不能很好支持或不支持变更跟踪的副本。简单提供程序 API 是可扩展的,但是它主要用于以下两种副本类型:

  • 不支持任何种类的变更跟踪的副本。此类副本使用“完全枚举提供程序”**,每次进行同步时该提供程序枚举来自源副本的所有项。

  • 支持基于定位点的变更跟踪的副本。此类副本使用“基于定位点的提供程序”**,该提供程序枚举在设置特定定位点(通常为一个时间点)后源副本中变更的项。

有关自定义提供程序的更多信息,请参见自定义提供程序的基础知识,特别是“在简单提供程序和标准提供程序之间进行选择”一节。

主要接口和重要选项

简单提供程序接口在托管代码和本机代码中可用。托管代码位于 Microsoft.Synchronization.SimpleProviders.dll 中的 Microsoft.Synchronization.SimpleProviders 命名空间;有关更多信息,请参见 Microsoft.Synchronization.SimpleProviders。本机代码位于 providerframework.dll 中,需要 anchorenumerationprovider.h 和 fullenumerationprovider.h;有关更多信息,请参见Sync Framework 简单提供程序组件

简单提供程序的主要接口如下:

托管接口 非托管接口

FullEnumerationSimpleSyncProvider

IFullEnumerationSyncProvider 接口

AnchorEnumerationSimpleSyncProvider

IAnchorSyncProvider 接口

FullEnumerationContext

IFullEnumerationCallback 接口

AnchorEnumerationContext

IAnchorChangeDetectionCallback 接口

ItemEnumerationContext

 

提供程序接口由开发人员实现。在每次同步会话期间,Sync Framework 运行时调用提供程序方法(如托管的 UpdateItem 或非托管的 UpdateItem)来选择和应用变更。对于这些方法,您必须编写满足副本、项存储区和应用程序要求的特定实现。例如,update 方法必须可以在目标数据存储区中执行更新并相应实施或响应应用程序更新所需的任何业务逻辑。上下文和回调接口由 Sync Framework 实现,提供了访问同步会话上下文的一种方法。除了主要接口之外,简单提供程序 API 还包括以下方面的重要选项:

有关创建简单提供程序时的设计注意事项的更多信息,请参见简单自定义提供程序设计的注意事项

有关创建托管简单提供程序的更多信息,请参见如何创建托管的简单提供程序

请参阅

参考

Microsoft.Synchronization.SimpleProviders

概念

使用自定义提供程序来同步数据存储区
Sync Framework 2.0 中的新增功能
Sync Framework 简单提供程序组件