1

对于熟悉 Microsoft Sync Framework 的人来说,这个问题适合您。这是关于应用程序版本控制的。假设我发布了我的软件的 1.0 版本,并且从 1.0 版本的 Web 服务创建了一个本地数据库 sdf 文件,并且生活持续了一段时间,用户使用该应用程序并将数据放入本地数据库等等,那么我的软件 2.0 版出来了,它们是对数据库(模式)的更改,例如新列、新表、可空性更改等...

这是如何工作的,如果用户在 1.0 版数据库中有数据并且我发布了一个新的 2.0 版 Web 服务,因为该软件的 2.0 版已经发布并且 1.0 版数据库不再能够与 2.0 版 Web 服务同步,如何从 1.0 版数据库中获取他们的数据?更重要的是,如何在不丢失任何 1.0 数据的情况下将每个人干净地更新到 2.0 版?

4

2 回答 2

1

在我们使用 WCF 上的同步框架的项目中,我们支持不同的数据版本。在我们的例子中,我们根据客户端使用的数据版本使用不同的 syncServerProviders。如果数据库架构发生更改,您可以通过手动编写 em 来配置同步提供程序,以仅选择/更新客户端数据版本支持的列。

于 2010-01-13T09:50:23.820 回答
0

您无法拆除 v1。网络服务 ( http://example.com/sync/v1.0/ )。您的所有 v1 客户端继续与 v1 Web 服务同步。客户端升级到 v2。sdf 通过运行将数据库升级到 v2 的部署脚本。在安装过程中(CREATE、ALTER、DROP 语句)。升级后,客户端会同步到 v2 服务 ( http://example.com/sync/v2.0/ )。

确认所有客户端都升级到v2后,就可以拆掉v1了。网络服务。如果客户数量未知,您必须依靠业务决策来保留v1。向上。让服务并行运行 2-3 个版本以支持旧客户端的情况并不少见。

于 2010-01-08T18:52:51.433 回答