オフライン サポートが必要な .net MVC アプリケーションがあります。マニフェスト ファイルをビューとして動的にレンダリングしています。
ページの更新を行っている間、私が観察したことは-
- 初めてすべてが新鮮にロードされます。
- 2 回目は、ブラウザ (Chrome) がマニフェスト ファイルのみを要求します。
- 以降のすべてのリクエストでは、マニフェスト ファイルのみがリクエストされ (サーバーは 200 レスポンスを返します)、他のファイルはキャッシュから取得されます。
ブラウザはまだサーバーにリクエストを行っているため、完全なオフライン サポートは得られません。理想的には、アプリがオフライン機能をサポートしている場合、IIS が停止しても機能するはずですよね?
これを解決するために、マニフェスト ファイルのみに 2 時間の有効期限 (たとえば) を追加しました。これにより、2つの点で問題がさらに悪化します-
- マニフェスト ファイルの有効期限が切れていない限り、ブラウザーはオンラインに戻ったときに最新のデータをフェッチしません。
- アプリがまだオフラインの場合は 2 時間後、マニフェスト ファイルの有効期限が切れてサーバーがダウンしているため、404 エラーが返されます (理由は不明)。