在 asp.net mvc 中以编程方式中止 OutputCache 持续时间
-
05-07-2019 - |
题
我使用 OutputCache 属性在服务器端缓存操作的 html 输出。
很好,它有效,但现在我遇到的情况是内容很少发生变化,但当发生变化时,用户在下一个请求时看到新数据至关重要。
那么,有没有办法以编程方式中止页面缓存持续时间?
解决方案
是的,可以使用 HttpResponse.RemoveOutputCacheItem 方法. 。检查这个问题:
其他提示
您可以扩展OutputCacheAttribute以创建自己的缓存机制,以允许类似于原始ASP.net缓存的依赖。
您还可以使用 HttpCachePolicy.AddValidationCallback() 。一般的想法是,当页面呈现并插入到缓存中时,此回调将与页面一起插入。在从高速缓存检索页面时,调用回调并最终确定高速缓存的页面是陈旧的(并且应该被引导)还是有效的(并且应该被提供)。有关示例,请参阅 AuthorizeAttribute source 。但是,如果页面变得陈旧真的罕见,那么您可能会更好地使用其他响应中提到的RemoveOutputCacheItem()方法。
不隶属于 StackOverflow