オフライン機能を追加する必要がある .NET Sales Web アプリケーションがあります。つまり、ユーザーは、ネットワークに接続していなくてもリード、機会、見込み客にアクセス (読み取り、編集、作成) でき、後でオンラインになると、基盤となるデータベース (Oracle) との自動同期が必要になります。
Google のギアや Adobe AIR があることはわかっています。.NET Web アプリケーションに最適なのはどれですか??
これを行うには、ある種のシック クライアント、Java アプリ、Flash、または Silverlight が必要です。これは、ブラウザが「オフライン」のときに機能し、再接続が可能になるまでデータをローカルに保存する必要があります。
簡単に言うと、各ユーザーが UI で編集を行うと、「コマンド」が生成されます。このコマンドは ajax を使用してバックエンドに送信されます。サーバーがコマンドを正常に処理したと応答した場合、すべて問題ありません。サーバーが応答しない場合は、待機中のコマンドのキューにコマンドを格納し、このキューをサーバーに送信しようとするタイマーを開始します。
これは単純ではありません。並行性 (2 人のユーザーが同じレコードを編集すること)、トランザクション、ユーザーがブラウザーを閉じることなどについて心配する必要があります。
ユーザーがGoogle Gearsなどを使用せずにブラウザーを閉じたときに、ユーザーの変更が失われるのを防ぐことはできないと思います。これにより、クライアント側に情報を保存できます。
System.Windows.Forms.WebBrowser オブジェクトを含む Web フォームに埋め込まれた Cassini Web サーバーを使用して、Web アプリケーションを「オフライン」で実行しました。Cassini Web サーバーは、次のリンクからダウンロードできます: http://ultidev.com/download/。