使用 Microsoft Sync Framework 实现多客户端和服务器数据库同步

3
我正在修改一个应用程序,将本地数据存储与直接连接到数据库服务器不同。客户端应用程序将在服务器数据库和其本地数据存储之间进行双向同步更改。我尝试使用Microsoft Sync Framework实现同步解决方案。需要明确的是,没有服务器应用程序,只有数据库服务器,但有多个客户端。
我已经开始实现两个类,它们实现FullEnumerationSimpleSyncProvider,一个称为LocalSyncProvider,另一个称为ServerSyncProvider。LocalSyncProvider知道如何从本地数据存储枚举、插入、更新、删除项目,而ServerSyncProvider知道如何从数据库服务器枚举、插入、更新、删除项目。它们各自使用提供的SqlMetadataStore,并将两个元数据存储(一个用于本地,一个用于服务器)存储在客户端的本地驱动器上。这意味着每个客户端都将拥有其本地数据存储和服务器数据库的元数据存储。
这样做是否可行?是否需要存在仅一个服务器元数据存储,或者我需要以不同的方式使用Sync Framework?
1个回答

0

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

但是,最近我遇到了一个问题,您可能需要知道。 如果在客户端上存储的元数据被删除,则 Sync Framework 无法重建元数据文件,因为它会被已经存在于服务器上的数据/文件所困扰。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接