2017-03-29 17 views
0

私はasp.netで自分のアプリケーションを開発していて、特定の期間が過ぎると強制的に.jsファイルを更新したかったのです。私は上記の設定に基づいてキャッシュ制御を、理解したようブラウザのキャッシュが期限切れになっていません

<httpProtocol> 
    <customHeaders> 
    <add name="Cache-Control" value="must-revalidate max-age=120" /> 
    </customHeaders> 
</httpProtocol> 

、ブラウザのキャッシュ2:00分、すべての後に期限切れにする必要がありますローカル環境でそれをテストするために、私は私のweb.configファイルに次の変更を加えました新しいポストバックは、.jsの新しいバージョンが使用可能かどうかを確認するためにWebサーバーに要求を送信する必要があります。私は、ネットワークトラフィックを監視するためにフィドラーを使用し、私はjsファイルのための要求を見ません。私が使用しているブラウザはChromeです。だから私はネットワークトラフィックを監視するために開発ツールを使いました。私はブラウザがそのファイルのキャッシュされたバージョンを使用していることがわかります。

ブラウザに強制的にキャッシュファイルの有効期限を設定する設定はありますか?

答えて

1

Cache-Controlが無効です。別々の値をカンマ:must-revalidate, max-age=120で試してください。

RFC 7234 Hypertext Transfer Protocol (HTTP/1.1): Cachingから

関連の抜粋:

のCache-Control = 1#キャッシュディレクティブ

キャッシュディレクティブ=トークン[ "="(トークン/引用符で囲まれた文字列)]

construc:RFC 7230 Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routingから

そしてABNF一覧拡張コンマで区切られた要素のリストを定義するために、 "*"と同様にt "#"が定義されています。完全形は、少なくとも<N>と最も<メートル>要素、 単一コンマ(「」)および任意の空白(OWS)によって分離された各時を示す「<N>#<メートル>要素」 あります。

新しい設定を正しい場所に配置してください。詳細はIs it possible to add response http headers in web.config?をご確認ください。

関連する問題