私はこれを数日間続けてきましたが、ますますイライラしています。Chrome、FF で一貫性のないオフライン機能の結果が得られます。Safari を使い始めたばかりです。
Asp .Net MVC 3 を使用してサンドボックス アプリを開発しています。以下は、アプリケーションの構造です。
- コントローラー/カーコントローラー
- ビュー/車/編集
- ビュー/車/編集オフライン
- ビュー/車/インデックス
3 つのビューのうち、マニフェスト属性が定義されているのは Index だけです。Index は、最初に要求されるビューです。以下は私のマニフェストの内容です:
CACHE MANIFEST
FALLBACK:
Car/Edit Car/EditOffline
#Version 1
Index の最初のリクエスト時に、ブラウザはアプリケーション キャッシュに 3 つのエントリを作成します。彼らです:
- localhost/Sandbox/Car、タイプ = マスター
- localhost/Sandbox/Car/EditOffline、タイプ = フォールバック
- localhost/Sandbox/Offline.、タイプ = マニフェスト
3 つのブラウザーすべてのオフライン動作をシミュレートしてきた方法は、IIS を明示的に停止することです。その後、インデックスが要求されました。IIS をシャットダウンし、編集アクションに要求を出します。その結果、EditOffline が提供されます。ここで、再度インデックス ビューを表示すると、404 エラーが表示されますが、なぜでしょうか? ブラウザがそのページのキャッシュされたバージョンを提供したと思いましたか? 編集ビューを (まだオフラインで) 再リクエストすると、404 エラーも表示されますが、なぜですか? ブラウザーは以前は EditOffline ビューを提供していたのに、なぜ今 404 を取得するのですか? FF では、何度か期待どおりに動作するようになりましたが、コードは変更していません。オフライン キャッシュを明示的に削除し、サーバーを再起動し、インデックス ビューを再要求したところ、魔法のように機能しました。