淺析ASP.NET頁面快取的幾點體會

iDotNetSpace發表於2009-10-14

儘管本文的作者寫的很簡單,但是相信通過這些文字,還是能對大家瞭解ASP.NET頁面快取有很大的幫助。

前幾天遇到個問題,百思不得其解。後來查閱了一些資料心裡才有了點思路。把自己遇到的問題記錄下來希望能給其他的園友一些幫助吧。

事情是這樣的。我的一個ASP.NET頁面用window.open導航後再次訪問時沒有得到更新,確切的說是再次訪問時根本就沒有訪問伺服器。可是這個現象在我的機器上並沒有出現,而專案組中其他的機器都有此問題。當時我這個鬱悶吶,因為不方便除錯,最後就在頁面上輸出好多alert。終於在幾次試驗之後發現了問題的所在。

其主要問題就是IE快取了頁面,當伺服器端出現更新時IE並沒有檢查到。我的機器沒有問題是因為我的ie設定為每次訪問頁面都要檢查更新,他們的則是自動檢查更新。由於我再次導航到頁面用的是前端的window.open方法,此方法不能使瀏覽器的自動檢查起作用。

上面的敘述比較亂,不知道大家能不能看懂。下面我說下具體的解決方法吧。

方法一:導航時用伺服器端的Response.Redirect方法,或者用前端得window.location.replace方法。

方法二:禁用ASP.NET頁面快取。

在必要的時候我還是推薦方法二的。因為我們做開發的不能控制瀏覽器的設定。使用者如果把IE設定為從不檢查更新快取的問題則不好避免,所以還是用方法二,讓IE的臨時資料夾不存在頁面檔案。

另外,是否禁用頁面快取要根據實際情況來說,起初我認為頁面快取只是快取在伺服器,後來看了一篇blog

發現快取的意義還是很大的。在很多情況下可以大大減小伺服器的壓力。只不過開發過程中要多多從需求出發,不能盲目的設定什麼屬性。

原文標題:asp.net頁面快取的學習

連結:http://www.cnblogs.com/417533880/archive/2009/10/09/1579629.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-616544/,如需轉載,請註明出處,否則將追究法律責任。

相關文章