2011-12-04 13 views
2

私のasp.net MVC 3アプリケーションの静的コンテンツをキャッシュします。Asp.NET MVC静的コンテンツのキャッシュが機能しません。

<staticContent> 
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10:00:00" /> 
</staticContent> 

を、それは動作しませんseens(YSlowのとフィドラーで確認):私は10日間キャッシュにweb.configファイルにこのタグを追加しました。なぜどんなアイデア?

+1

IISのバージョンはどれですか? – driis

+0

私はDevServer、IIS Express、およびIIS 7.5を試しました。 – pauliusnrk

+0

サーバはCache-Controlヘッダーをまったく送信しますか? – driis

答えて

3

上記で交換したコメントに基づいて、私はクライアント側のキャッシュが機能すると言います。

サーバーに送信します。

クライアントは、10時間(60 * 60 * 10 == 36000)のためにそれをキャッシュする必要があることを、意味
Cache-Control:max-age=36000 

。あなたが実際に10日間にしたい場合は 、設定は次のとおりです。

cacheControlMaxAge="10.00:00:00" 

は、クライアントがされているように、クライアント側のキャッシュなどの理由(任意の数のために、再びかかわらず、あなたのキャッシュ・ヘッダーのリソースを取得することを決定するかもしれないことを覚えておいてくださいユーザーがフルリフレッシュを要求したか、クライアントがクライアントサイドキャッシュを正しく実装していないかなど)

どのように機能しないという結論に達しましたか?

+0

YSlow FiddlerとChrome開発ツールを使用して確認しました。ページを更新するたびに、常に静的コンテンツ(httpステータス200)にリクエストが行われます。 – pauliusnrk

+0

サーバーはクライアントに正しいことを伝えますが、この場合はリフレッシュはキャッシュされたリソースを更新することも意味します。ページに移動するだけであれば、ブラウザはキャッシュされたバージョンを使用する必要があります – driis

関連する問題