【发布时间】:2018-02-16 16:27:50
【问题描述】:
目前我正在开发一个包含大约 5000 个不同页面的应用程序,这些页面都来自以下方法:
[OutputCache(Duration = 604800)]
public ActionResult Details(string alias){ //database connection and data retrieval - takes about 11 seconds }
此方法第一次运行需要很长时间 - 显然,在考虑使此速度更快的解决方案时,我开始考虑使用长期服务器端输出缓存,因为此数据库数据不会经常更改,并且在发生时并不紧急可以。
正如我所提到的,这个 Details 方法总共有大约 5000 个不同的结果,所以缓存不会很大。
问题:加载网站并运行网站爬虫后,并非所有页面都被缓存。我假设这是因为缓存缓冲区已满,并且 MVC 开始删除旧缓存以为新缓存让路。
我的问题:我如何告诉 ASP.net MVC 永远不要清除缓存 - 除非达到(一周的)到期日期?还是强制保留 OutputCache 直到过期日期?
谢谢大家。
【问题讨论】:
标签: asp.net-mvc caching permanent