3

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

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

这真的可行吗,是否只需要存在一个服务器元数据存储,还是我需要以不同的方式使用同步框架?

4

1 回答 1

0

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

但是,我最近遇到了一个您可能想知道的问题。似乎如果客户端上的元数据存储被删除,同步框架无法重建元数据文件,而不会被服务器上已经存在的数据/文件混淆。

于 2010-10-01T10:29:57.937 回答