我解决了缓存方面的大多数问题。但是仍然有一件事。我有一个使用输出缓存的UserControl。像这样:
<%@ OutputCache Duration="1200" VaryByParam="none" %>
但是,如您所见,该控件每12分钟重新创建一次,因为生成控件需要5到10秒。
现在,ASP.NET的默认行为是在用户进入页面时创建控件,并将其保留在缓存中12分钟。然后,再过5分钟后,用户进入页面,则再次创建控件。
有没有一种方法可以强制ASP.NET在12分钟的缓存过期后重新创建控件?下次访问用户时都可以吗?
甚至是一个完美的解决方案:比如说在11分钟50秒后在后台重新创建控件,而不仅仅是在12分钟后用新的控件替换实际的控件?
感谢帮助!
最佳答案
因为ASP.NET仅与触发器一起使用,所以使用Windows计划任务每12分钟进入此页面。触发器可以是每12分钟请求其他页面的Ajax,也可以是访问您网页的下一个用户。
关于asp.net - ASP.NET创建缓存控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3184255/