2013-02-21 35 views
0

我有一個小型的CMS,它使用從數據庫渲染的Razor Views。一切正常,直到你改變其中一頁。HttpRuntime.Cache - 獲取條目的創建時間

當頁面被分配給虛擬路徑時,MVC或RazorViewEngine將緩存視圖,這是總體意義。

如果有人做出改變,我想清除這個特定視圖的緩存。此外,我想在渲染頁面之前清除緩存。所以我的想法是在數據庫中添加一個「已更新」DateTime信息到我的視圖(無論如何這個字段是我們的表中的標準字段之一),然後將該日期與HttpRuntime.Cache中的Entry的CreateTime進行比較。我可以看到Visual Studio有CreationTime,但我沒有經歷Reflection的經驗來獲得這個值。

另外,正如我所聽說的,Reflection不是很快,如果我必須這樣做,那麼每次頁面呈現時都會減慢頁面的速度。

所以我的問題,可以1.有人幫助我從一個HttpRuntime.Cache入門獲得創造時間與反射或確實2.有人知道更好的方法?

回答

0

我是在MVC框架的錯誤的地方,我之後是VirtualPathProvider的緩存,我找到了我必須覆蓋的方法。 對於那些面臨同樣問題的人。

  • GetCacheDependency
  • GetFileHash