0

我有一个小 CMS,它正在使用从数据库呈现的 Razor 视图。在您更改其中一页之前,一切正常。

由于页面被分配到一个虚拟路径,MVC 或RazorViewEngine将缓存视图,这是完全有意义的。

但是,如果有人进行更改,我想清除此特定视图的缓存。我也想在渲染页面之前清除缓存。所以我的想法是DateTime在数据库中的我的视图中添加一个“更新”信息(这个字段无论如何都在那里,因为它是我们表中的标准字段之一),然后将此日期与条目的 CreateTime 进行比较HttpRuntime.Cache。我可以看到 VisualStudio 有一个 CreationTime,但我对反射没有那么经验来达到这个值。

另外,正如我所听说的,反射不是很快,如果每次渲染页面时我都必须这样做,它会减慢页面速度。

所以我的问题是,1. 有人可以帮助我从具有反射的条目中获取 CreationTime,HttpRuntime.Cache还是 2. 有人知道更好的方法?

4

1 回答 1

0

我在 MVC 框架的错误位置,我追求的是 Cache VirtualPathProvider,我找到了我必须覆盖的方法。对于那些面临同样问题的人。

  • GetCacheDependency
  • GetFileHash
于 2013-02-22T12:42:52.010 回答