Microsoft Sync Framework与多个客户端和服务器数据库

时间:2010-03-02 21:42:23

标签: synchronization microsoft-sync-framework data-synchronization

我正在尝试更改应用程序以拥有本地数据存储,而不是直接连接到数据库服务器。然后,客户端应用程序将同步服务器数据库与其本地数据存储之间的更改。我正在尝试使用Microsoft Sync Framework实现同步解决方案。要明确的是,没有服务器应用程序,只有数据库服务器,但有多个客户端。

我已经开始实现两个实现FullEnumerationSimpleSyncProvider的类,一个名为LocalSyncProvider,另一个名为ServerSyncProvider。 LocalSyncProvider知道如何枚举,插入,更新,删除本地数据存储中的项目,ServerSyncProvider知道如何枚举,插入,更新,删除数据库服务器中的项目。它们各自使用提供的SqlMetadataStore并在客户端的本地驱动器上存储两个元数据存储(一个用于本地,一个用于服务器)。这意味着每个客户端将拥有自己的元数据存储区,用于其本地数据存储区和自己的服务器数据库元数据存储区。

这实际上是否有用,是否只需要存在一个服务器元数据存储,或者我需要以不同方式使用Sync Framework吗?

1 个答案:

答案 0 :(得分:0)

我们正在使用类似的方法,它可以按照您的描述运行。不同之处在于我们使用客户端的FileSyncProvider和服务器的FullEnumerationSimpleSyncProvider实现来同步文件而不是数据。但是我们没有在服务器上运行Sync Framework代码,并且有两个单独的元数据文件,都存储在客户端上。

但是,我最近遇到了一个您可能想要了解的问题。似乎如果删除客户端上的元数据存储,则Sync Framework无法重建元数据文件,而不会对服务器上已有的数据/文件感到困惑。