2013-03-10 178 views
0

我已經找過這個問題的答案,但我不確定我是否問得對。ASP.NET瀏覽器緩存導致問題

我找什麼做開發商做這樣的情況:

我開發一個ASP.NET C#應用程序。我有CSS和SCRIPT文件,我正在使用jQuery。我將我的應用程序安裝到Web服務器上(或者我有我的客戶安裝它們)。如果我通過添加一些新的jQuery或其他東西來對腳本文件進行任何更改,我的客戶在執行更新後不會產生效果。我假設原因是他們的瀏覽器在本地計算機上緩存文件,他們現在從服務器下載新文件。

在我的開發環境中,我關閉瀏覽器並在IE上清除緩存,並在選項中告訴它始終從服務器加載。這種方式發展時,我從來沒有緩存數據。

如果我確實做了更改,那麼在執行更新後,這些文件會在客戶端計算機上刷新,最佳做法是什麼?代碼中有什麼我能做的嗎?

我真的不想更改文件名並更新所有腳本引用。

感謝, 科裏

回答

1

傳統的方法是將一個查詢字符串參數追加到參考CSS /腳本文件路徑的末尾。例如,如果您將內部版本號附加爲查詢字符串,則該軟件的每個版本都將自行請求相關資源。

+0

哦......我在每個頁面URL的末尾添加了一個隨機數。那麼你在資源URL的末尾說了什麼? – 2013-03-10 23:29:35

+0

是的 - 頁面加載時會使用'link'連接腳本和css文件的單獨請求。如果你追加你的隨機數字,你應該很好。 – 2013-03-10 23:32:23

+1

關於隨機數或日期的問題是它永遠不會緩存腳本/ css文件。如果你添加一個版本號到引用url結尾(例如/script/myscript.js?v=2),只要v等於2,瀏覽器就會緩存文件。 – 2013-03-10 23:32:42