6

私の会社のWebアプリケーションをオフラインで利用できるようにすることが任されています。実際の開発段階に移行する前に、現在の戦略がバストにならないことを確認したいと思います。ASP.Net(C#)Web Appをオフラインで使用可能にする

私は最初にhtml5アプリケーションキャッシュを使用することを考えましたが、いくつかのテストを行った後、サーバー側の操作をキャッシュしないように見えましたが、レンダリングされる実際のHTML(私が間違っている場合は修正してください)これは、レンダリングされたhtmlが現在ログインしている人に依存しているので動作しません。私のテストでは、ログインした(オンラインの)最後の人がログインしているかのようにhtmlが表示されます。

私の現在の戦略はこれです: ログインページとオフライン(.html)ページのみをキャッシュし、オフラインで利用できるようにする必要がある各aspxページに対応します。成功したログイン(オンライン)が成功するたびに、ログイン資格情報に使用されるテーブルを含めて、オフラインで作業するために必要なすべてのデータをWeb SQLデータベースまたはIndexDB(ブラウザに応じて)で作成または更新します。このように、オフラインでログインする唯一の要件は、ログイン資格情報で少なくとも1回ログインすることです。

私が懸念しているのは、それを過度に複雑化していることです。この作業を行うためには、現在のページ(たくさんのページ)ごとにhtmlページを作成する必要があります。また、検証、データベース呼び出し、コントロールの挿入など、JavaScriptでサーバー上で現在実行されているすべてのものを書き直す必要がありますドロップダウンリストやデータグリッドなど、私が将来変更するすべてのものは、その後のオフライン変更が必要になります。

私がやろうとしていることに対して確立されたベストプラクティスがありますか?私は見落としているか、私は新しい地面に向かっていますか?

+0

私はここには専門家でないが、あなたは別のユーザーがすべてから、あなたのサイトにログインしている必要がありように聞こえます同じブラウザセッションで、すべて切断されていますか?それはあなたのクライアントにユーザー名とパスワードをキャッシュすることが必要な難しいシナリオのようです。おそらく、危険な習慣です。 – andleer

+0

お返事ありがとうございます。私があなたを正しく理解しているなら、あなたは私の戦略を誤解していると思います。オンラインモードで以前にログインしたユーザーは、後でオフラインモードで操作できるようにするという計画です。私が開発しているアプリの通常のケースは、モバイルデバイス(iphone、ドロイド、タブレットなど)の監督がアクセスするため、通常は同じ人物が同じデバイスを使用するということです。 Web SQLやIndexDB経由でパスワードを保存するのは危険ですか?もしそうなら、なぜですか? –

+1

確かに、クライアントにユーザー名とパスワードを格納することは、同時に良いことではないかもしれませんが、ジェームスが解決していると思われるものは解決するのが本物の問題です。理想的には、エンドユーザーがオフラインシステムにアクセスしたい場合、彼はオンラインで認証され、オフラインで作業を継続し、オンラインで同期する必要もあります。私はsilverlightのようなものを使うと思うだろうが、銀色にアクセスするクライアントの面で問題があるように見えるので、Isolated storageだけが残っている。 –

答えて

3

これらのリンクを参照してください。これにより、達成すべきことについてのいくつかの洞察が得られます。私はこれらがベストプラクティスであるかどうかはわかりませんが、これらは良い出発点になります。

http://www.c-sharpcorner.com/UploadFile/aravindbenator/offline-mvc3-application/ http://www.developerfusion.com/article/84438/isolated-storage/

+0

この回答はシヴァありがとうございます。私はそれが良いツールになると思われるので、さらに隔離されたストレージを検討することを楽しみにしています。あなたがc-sharpcornerで指摘したモデルは、私の元の質問で概説した戦略を実行するための良いモデルのようです。あなたの意見は、各オンラインaspxファイルに対応するためにオフラインhtmlファイルをキャッシュするのが最善の解決策ですか? –

関連する問題