首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止MVC5清除控制器输出缓存

如何防止MVC5清除控制器输出缓存
EN

Stack Overflow用户
提问于 2017-09-08 04:36:32
回答 1查看 202关注 0票数 0

目前,我正在开发一个有大约5000个不同页面的应用程序,所有这些页面都来自以下方法:

代码语言:javascript
复制
   [OutputCache(Duration = 604800)]
    public ActionResult Details(string alias){ //database connection and data retrieval - takes about 11 seconds }

这种方法第一次运行需要很长时间-显然,在考虑解决方案以使其更快的同时,我开始考虑使用长期的服务器端输出缓存,因为该数据库数据不会经常更改,并且在更改时也不是很紧急。

正如我所提到的,这个Details方法总共有大约5000个不同的结果,所以缓存不会很大。

问题:在加载站点并运行站点爬虫后,并不是所有页面都被缓存。我猜想这是因为缓存的缓冲区被填满了,MVC开始移除旧的缓存,为新的缓存让路。

我的问题是:我如何告诉ASP.net MVC永远不要清空缓存-除非(一周的)到期日期到了?或者强制持久化OutputCache到到期日期?

谢谢大家。

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 21:32:11

您的服务器已达到极限-如果重新启动计算机或IIS,您将遇到相同的问题。

您最好的选择可能是将调用包装在您自己的缓存提供程序中,如this SO question。在那里,您可以存储OutputCache,也可以在db或nosql级别进行存储。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46104718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档