1

オフラインの Web アプリケーションとデータベースの同期についてアドバイスを求める必要があります。

オフライン シナリオ

複雑なデータを使用して長時間オフライン モードで動作する必要がある Web サイト (HTML5) があり、製品の所有者はデータをローカル ストレージに保存することを望んでいません。

私が見ているように、私たちには2つの選択肢があります。

  1. JavaScript を使用してオフラインかどうかを検出し、オフラインである場合は、データ センターでスタックを複製し、オフライン データベースに書き込むローカル Web サーバーへの URL をポイントします。

◦最大の障害は、オフラインの場合、最初の読み込み時にローカル Web サーバーの場所 (URL) を取得する方法です。つまり、ユーザーは www.xyz.com にアクセスしますが、あなたはオフラインなので、

質問 1: 最初の呼び出しで javascript を使用して彼を localhost.xyz.com にリダイレクトする方法

  1. NIC でオフライン ステータスをチェックし、すべての Web およびサービス呼び出しを正しい場所にリダイレクトする wcf サービスに対して、オフラインかどうかに関係なく、クライアントでのすべての呼び出しをポイントします。大きな仕事のように思えます。

質問 2: これを行う製品/オープンソース プロジェクトはありますか?

同期シナリオ

•MS同期フレームワークを使用したい

◦ ただし、異なるデータベースに同期しているクライアントが多数あるため、クライアントごとに 1 つの同期サービスが必要になるか、同期しているクライアントが誰であるかを特定して正しい場所を指す何らかの方法が必要です。

◦ 同期中に他のクライアントが同じテーブルを使用しているため、同期中のロックを最小限に抑える必要がある

質問 3: 同期フレームワークを拡張して、これを行うことはできますか? 質問 4: MS プラットフォームでのデータベース同期には、他にどのようなオプションがありますか?

ありがとう

4

4 に答える 4

1

ユーザーがそのURLをブラウザに入力すると、そのURLに移動します。その時点ではJavaScriptはありません。ページが読み込まれると、Javascriptのみが使用できるようになります。より良い解決策を探す必要があります。

アイデアは次のとおりです。ユーザーは常にローカルWebサイトにアクセスし、リモートサイトが稼働している場合は、リダイレクトします。

MS同期に関しては、それが何であるかわからないので、そこであなたを助けることはできません。

于 2012-09-18T19:42:06.250 に答える
0

MS プラットフォームでのデータベース同期には他にどのようなオプションがありますか: Windows azure Web サービスである SQL Azure Data Sync もあります。実際には、参照している Microsoft Sync Framework に基づいて構築されています。

Leonard Lobel と Andrew Brust (MS Press) による書籍「Programming Microsoft SQL Server 2012」に例があります。第 13 章では、SQL Azure Data Sync、Windows Azure、および Windows Phone 7 開発プラットフォームを組み込んだ不定期接続システムの構築について説明しています。サンプル ソリューションでは、バックエンドで、オンプレミスの SQL Server データベースが、SQL Azure Data Sync を使用して、クラウド内の公開されている SQL Azure データベースと同期されます。クラウド データベースは、WCF Data Services を使用して公開され (Windows Azure にデプロイすることでクラウドでもホストされます)、Windows Phone 7 デバイスで実行されているモバイル クライアント アプリケーションによって OData を介して使用されます。この章で詳しく説明するサンプル ソリューションは、オンプレミスの SQL Server、クラウド内の SQL Azure データベース、

于 2012-09-18T23:46:37.687 に答える
0

同期フレームワークは、同期時にテーブルをロックしません。

クライアントで使用するクライアント データベースに応じて、MS データベース (SQL CE、SQL Express、LocalDB、SQL Server、SQL Azure) で動作する Sync Framework 自体を使用するか、 Sync Framework Toolkitを使用できます。

どのプラットフォームを選択しても、どのストアをいつ使用するかを動的に選択するのではなく、単純にローカル ストアに書き込み、それを同期することをお勧めします。

たとえば、オフラインになってローカル ストアに書き込みを行った場合などです。次に、ネットワーク モニターがオンラインに戻ったことを検出し、オンライン サービスにリダイレクトします。ローカルに保存したデータをどうしますか? または、オンラインで取引を行っていて、突然オフラインになった場合、実際に作業を開始するためのローカルストアはどのくらい最新/更新されていますか?

于 2012-09-19T02:55:08.237 に答える