[英]Javascript and css caching in asp.net
我知道這個問題被問過很多次,最常見的答案是:
我正在處理一些發布后問題,因為我們不遵循軟件項目生命周期,所以我們會在測試和修復問題時更新網站。 因此,我們可能需要每天多次更新網站,而不是一周更新。
我不確定是否有一種方法我仍然可以利用緩存,同時不需要讓用戶刷新頁面/清除緩存以查看最新的更改。
有沒有辦法在asp.net中實現.htaaccess解決方案,如果這是我需要做的事情?
我非常感謝任何幫助。
這是我用於css文件的解決方案,但應該適用於JS:在htaccess中有一個規則:
RewriteRule ^(.*)_ver_.*(\..*)$ $1$2 [NC,L]
這需要一個文件名,如“Style_ver_12345.css”,並將其重寫為Style.css。
然后當你包含文件時,將實際文件的File.GetLastWriteTime(filePath).Ticks.ToString()
就是我的工作方式File.GetLastWriteTime(filePath).Ticks.ToString()
為版本號。 我將擁有的示例文件名是Style_ver_634909902200823172.css
這將確保文件中的任何更改將立即導致新的版本號,而物理文件不需要具有不同的名稱,並且文件將由瀏覽器緩存。
用戶仍然需要刷新頁面,但他們不必清除緩存。 如果你需要,也許你可以通過ajax調用強制刷新,該調用將比較加載的腳本的版本號和服務器上的版本號。 然后,服務器上的較新版本可以強制刷新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.