4

時々接続するクライアント (WPF アプリ、SQL Express DB) が中央の SQL Server と同期する必要があるシナリオがあります。クライアント マシンは現場で使用され、多くの場合、何の接続もありません。スマートフォンを中間ストア アンド フォワード デバイスとして使用する計画です。クライアントは、ローカルの変更を電話機にプッシュします。次に、電話を外し、ラップトップの電源を切り、道路を運転します。運転中に電話が接続され、変更内容が本社にアップロードされます。

Sync Framework でこれを行うことができるかどうかを知る必要があります。

ドキュメントは、同期オーケストレーションがソースと宛先の両方へのアクセスを必要としていることを示しているようです。この場合、宛先 (中央サーバー) への接続がありません。宛先の知識をローカルにキャッシュする方法を見つける必要があると思いますが、それが適切かどうかはわかりません。

クライアント マシンは定期的に直接接続されますが、毎日ではありません。

したがって、シナリオは次のとおりです。

  1. クライアント マシンは月曜日に直接接続され、完全な同期を行います。
  2. 火曜日に、ユーザーは現場に出てアプリを使用し、SQL Express データベースに対して更新 / 挿入 / 削除を生成します。
  3. ユーザーは、クライアント マシンを自分のスマートフォンに「同期」します。(ファイルをSDカードに保存)
  4. ユーザーはクライアントの電源を切り、道路を運転します。
  5. スマートフォンが接続状態になり、ファイルをセントラル オフィスにアップロードします。
  6. セントラル オフィスは、アップロードされたファイルのデータを中央の SQL Server データベースに「同期」します。
  7. 水曜日、木曜日、金曜日に 2 ~ 6 を繰り返します。
  8. 次の月曜日に、ユーザーは完全同期のために再び直接接続されます。

同期フレームワークでこれを行うにはどうすればよいですか?

スマートフォンに中央局から何かを毎日ダウンロードさせることができれば役に立ちますか (中央局の知識など)? クライアントがセントラル オフィスからの古いキャッシュされた知識に対して同期セッションを調整している場合、害はありますか?

前もって感謝します!

4

1 に答える 1

0

これは、Sync Framework または Sync Framework Toolkit を使用してすぐに行うことはできません。データベースの同期とファイルの同期はまったく異なります。同期フレームワークは、プロバイダーの概念と連携して、同期されるリポジトリを表します。たとえば、ファイルを操作するには FileSyncProvider があり、SQL Server/Express/Azure を操作するには SqlSyncProvider などがあります... しかし、FileSyncProvider を使用して SqlSyncProvider と同期することはできません... 前者は機能しますファイルで、後者はデータベース内の行で。

スマートフォンをローカル マシンと同期させる代わりに、ローカル マシンとスマートフォンの両方を中央サーバーと直接同期させます。

クライアント マシンの場合は、Sync Framework SDK を使用し、できれば WCF を使用して n 層セットアップで構成できます。

スマートフォンの場合、Sync Framework SDK 自体を電話にインストールできないため、Sync Framework Toolkit を使用する必要があります。

n 層セットアップを使用したサンプルへのリンクは次のとおりです: Database Sync:SQL Server and SQL Express N-Tier with WCF

Sync Framework Toolkit へのリンクは次のとおりです: Microsoft Sync Framework Toolkit

于 2012-05-24T05:49:16.070 に答える