0

私はこれを数日間続けてきましたが、ますますイライラしています。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 では、何度か期待どおりに動作するようになりましたが、コードは変更していません。オフライン キャッシュを明示的に削除し、サーバーを再起動し、インデックス ビューを再要求したところ、魔法のように機能しました。

4

1 に答える 1

1

最初のリクエストは のようですhttp://localhost/Sandbox/Carが、その URL で 404 が返されますか? マニフェストは URL で機能しますが、既定のページやその他のサーバー構成については何も知りません。アプリケーションキャッシュに関する限りhttp://localhost/Sandbox/Car、別のページも同様です。http://localhost/Sandbox/Car/Index関連するビューは、マニフェスト ファイルへの参照が含まれていること以外は、キャッシュとはほとんど関係ありません。

于 2012-04-19T07:45:06.420 に答える