2013-10-16 150 views
1

我告訴他們我的問題。我有一個相當大的網站,那裏經常發生變化。同樣如此。淨F 3.5。如何使用.Net清除緩存

我的大問題是,每當我增加生產時,我都必須發送一封郵件給所有使用該站點的用戶來清理瀏覽器歷史記錄。當它將上一個網站與上傳的最新版本混合在一起時,它開始出現同樣的故障。

有什麼辦法強制刷新頁面加油?但不禁用緩存?由於圖層每月增加1個,並且網頁大小的緩存非常有用。

+0

ASP,MVC?根據站點類型的不同,您可以創建一個操作篩選器或指定一個標題來使緩存過期。 –

回答

2

您應該向資產網址添加散列。

例如,如果你需要包括/scripts/yourscript.js,計算文件的哈希,並把它添加到URL:

<script src="/scripts/yourscript.js?hash=XYZ"></script> 

這樣,URL將是唯一的文件的版本,和瀏覽器將區分每個版本。這將確保正確的文件被加載。

您可以計算文件的哈希值,使用時間戳或任何可以區分版本的東西。

您還可以使用http標題來設置緩存策略。但前者的建議比較好(我認爲),因爲您仍然可以將緩存優點和版本結合起來。

我認爲ScriptManager控制可以自動完成這個哈希你(但我不知道)

+0

根據您的操作方式,您可以將該網站的當前[構建]版本附加到URL,以便在您發佈過期的更新時仍然可以在構建期間對其進行緩存。 –