2011-01-28 93 views
0

我有一個asp.net項目,我加載一個基本aspx頁面以顯示給用戶。然後我在一個ascx組件的結果中使用ajax,並通過javascript中的innerHTML注入它。.ascx文件如何緩存?

我注意到ascx組件在第一頁加載時加載緩慢,但之後立即加載。這真的很酷,但我不明白這是如何緩存的,因爲內容是通過多次調用db來生成的。

服務器是否發送某種散列來比較內容,以查看它是否在服務器上更改?這是一個瀏覽器的東西或一個asp.net的東西?

回答

1

您遇到的情況很可能只是及時編譯,與用戶控制本身很少有關。

觀察.net的性能監視器計數器。這會告訴你很多關於發生了什麼事情。

0

你可以使用Firebug/IE開發者控制檯/ etc。確定響應代碼?如果您可以檢查標題,則應該能夠看到指示緩存時間或上次修改日期的日期。我戳穿了MS ASP.NET Ajax文檔,但找不到任何對默認緩存時間或緩存修改的引用。

但是,jQuery的ajax function使用ifModified屬性(根據文檔)檢查Last-Modified標頭以確定它是否應檢索結果。我可以想象,ASP.NET Ajax調用以類似的方式工作。對於您當前的項目而言,這可能不太明智,但jQuery使設置緩存選項變得非常簡單。