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