2011-05-06 96 views
5

我想緩存從數據庫中取出的對象,這些對象通常不會被修改,因爲每次頁面加載時將近2000個項目被選中,導致頁面加載期間出現明顯的性能問題。httpcontext中的asp.net緩存

審查 here和一些MSDN文章(最相關的是 here)看來,這些都是解決方案,以防止單個用戶做多次往返到數據庫中,並且一旦HttpRequest中關閉這個緩存就會過期後。

任何人都可以清除混淆,如果找到適用的參考?

回答

6

你想存儲項目在HttpRuntime.Cache項目將存在於你的應用程序域的持續時間,他們到期,或被清除。哪個先發生。請注意,這與HttpContext.Current.Cache完全相同,它指向HttpRuntime.Cache。調用後者更容易在服務層中使用,因爲您不必關心是否存在上下文。緩存始終存在。

存儲在HttpContext.Current.Request.Items中的項目只會在該請​​求期間存在。這對存儲單個請求信息非常有用,可以通過應用程序的多個層讀取/寫入。