開発者として私たちはすべてこの問題を抱えていました。ウェブサイトのメンテナンスが必要で、クライアントスクリプトがあります:foo.js
foo.js
を変更してテストし、テスト環境上の新しいコード。 テストユーザーは、ブラウザに古いfoo.js
がキャッシュに保持されているため、問題を解決しなかったと主張します。ブラウザのJavaScriptキャッシングの問題を防ぐためのベストプラクティス
私はfilecontentsのハッシュを作成し、それをファイル名に使用することを考えていました。 foo_8c736521.js
ハッシュを作成してファイルの名前を変更してBundleConfig.csを更新できます。 これはVisual Studio内で自動的に実行されます。
C#.NETでこれを処理するライブラリがありますか?
私は私のweb.Test.configファイルにこの変換を追加しました:今、バンドルの最適化は、この環境で有効になっている
<system.web>
<compilation debug="false" targetFramework="4.5" xdt:Transform="Replace" />
</system.web>
。そして、それは動作します。
foo.jsはを参照してください常に取得するには、ブラウザを強制するV = –
aabilio
@aabilio?キャッシュメカニズムを効果的に無効にします。私は、実際のファイルの内容が変更されたときにのみキャッシュを無効にしたい。 –
ああ、私は質問を理解していませんでした。したがって、サーバーを制御する場合は、EtagまたはLast-Modified HTTPヘッダーを使用します。 – aabilio