我使用 OutputCache 属性在服务器端缓存操作的 html 输出。

很好,它有效,但现在我遇到的情况是内容很少发生变化,但当发生变化时,用户在下一个请求时看到新数据至关重要。

那么,有没有办法以编程方式中止页面缓存持续时间?

有帮助吗?

其他提示

您可以扩展OutputCacheAttribute以创建自己的缓存机制,以允许类似于原始ASP.net缓存的依赖。

您还可以使用 HttpCachePolicy.AddValidationCallback() 。一般的想法是,当页面呈现并插入到缓存中时,此回调将与页面一起插入。在从高速缓存检索页面时,调用回调并最终确定高速缓存的页面是陈旧的(并且应该被引导)还是有效的(并且应该被提供)。有关示例,请参阅 AuthorizeAttribute source 。但是,如果页面变得陈旧真的罕见,那么您可能会更好地使用其他响应中提到的RemoveOutputCacheItem()方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top