缓存从数据库中获取的MVC 3视图

时间:2012-03-29 20:26:15

标签: asp.net-mvc caching virtualpathprovider

我有一个MVC3应用程序,它正在提供存储在数据库中的视图。我创建了一个VirtualPathProvider,在我的GetFileFileExists方法中,我转到数据库并返回正确的内容。到目前为止一切都很好。

现在我要缓存从GetFile返回的视图。我理解MVC已经进行了一些视图缓存,我们通过GetCacheDependency方法对它进行了一些控制。但我们有更多的控制权吗?例如,我们可以在那里使用自定义缓存吗?在我的情况下,我有兴趣缓存本地文件系统上的视图并执行自己的缓存失效。

一种简单的方法是在我的GetFile方法中自己做,但如果在MVC中有一个自然的可扩展点,我宁愿使用它。

由于

2 个答案:

答案 0 :(得分:1)

我在看某事,发现你的问题,没有得到回答。您需要覆盖GetFileHash()GetCacheDependency()。然后,您需要实现自己的CacheDependency以使ASP.NET缓存失效。

答案 1 :(得分:0)

使用OutputCacheAttribute

http://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute.aspx

或尝试从中获取。