私は、スタンドアロンの WPF アプリケーションであり、Silverlight として機能し、ブラウザーでホストされるカット ダウン バージョンでもあるアプリケーションを作成しています。Silverlight アプリケーションがクラウドのデータにアクセスできるようにします。WPF アプリケーションは、ローカル データベースに対して動作する必要がありますが、同じクラウド ストレージと同期できる必要があります。
したがって、機能するには次のシナリオが必要です。Silverlight は、クラウドに保存されているデータに対して直接動作します。WPF アプリは、ローカル データベースに対して動作します。ただし、WPF アプリには、前回の WPF アプリの実行以降にオンラインで変更が加えられた場合に備えて、起動時にクラウドにアクセスして最新バージョンを取得する機能があります。ユーザーが WPF アプリを終了すると、クラウドに加えられた変更を再度同期できます。これにより、WPF の実行中のパフォーマンスが向上し、オフラインで実行して、後で接続したときに同期することもできます。
これを行うために利用できる最高のテクノロジーは何ですか? データ アクセスに役立つ Sync Framework、SQL Server Data Service、ADO.NET Entity Framework、および SQL Server Compact Edition があることは知っていますが、それらを連携させて提示されたシナリオを実行できるかどうかはわかりません。
これをすべて自分で実装しますか?そのほとんどは無料で提供され、同期を処理するだけで済みますか? マイクロソフトのデータ アクセス テクノロジについて深い知識をお持ちの場合は、設計に関するご意見をお待ちしております。