1

Microsoft Sync Framework に精通している方に、この質問をしてください。アプリケーションのバージョン管理に関するものです。ソフトウェアのバージョン 1.0 をリリースし、バージョン 1.0 の Web サービスからローカル データベースの sdf ファイルが作成され、ユーザーがアプリケーションを使用してローカル データベースにデータを配置するとします。さて、私のソフトウェアのバージョン 2.0 が出てきて、新しい列、新しいテーブル、null 機能の変更など、データベース (スキーマ) に変更が加えられました...

ユーザーがバージョン 1.0 データベースにデータを持っていて、ソフトウェアのバージョン 2.0 がリリースされ、バージョン 1.0 データベースが 2.0 Web サービスと同期できなくなったため、新しい 2.0 Web サービスを公開した場合はどうなりますか?バージョン 1.0 データベースからデータを取得するにはどうすればよいですか? もっと言えば、1.0 のデータを一切失わずに全員をバージョン 2.0 にきれいに更新するにはどうすればよいでしょうか?

4

2 に答える 2

1

WCF 経由で同期フレームワークを使用している私たちのプロジェクトでは、さまざまなデータ バージョンをサポートしています。この場合、クライアントが使用するデータ バージョンに応じて異なる syncServerProviders を使用します。データベース スキーマに変更がある場合は、em を手動で記述して同期プロバイダーを構成し、クライアント データ バージョンでサポートされている列のみを選択/更新することができます。

于 2010-01-13T09:50:23.820 に答える
0

v1 を破棄することはできません。Web サービス ( http://example.com/sync/v1.0/ )。すべての v1 クライアントは引き続き v1 Web サービスと同期します。クライアントは v2 にアップグレードします。データベースを v2 にアップグレードするデプロイメント スクリプトを実行することにより、sdf を更新します。インストール プロセス中 (CREATE、ALTER、DROP ステートメント)。アップグレード後、クライアントは v2 サービス ( http://example.com/sync/v2.0/ ) に同期します。

すべてのクライアントが v2 にアップグレードすることを確認したら、v1 を破棄できます。ウェブサービス。クライアントの数が不明な場合、v1 をどのくらいの期間保持するかは、ビジネス上の決定に依存する必要があります。上。古いクライアントをサポートするために、2 ~ 3 バージョンのサービスを並行して実行することは珍しくありません。

于 2010-01-08T18:52:51.433 に答える