5

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

很好,它可以工作,但是现在我遇到了内容很少更改的情况,但是当它发生更改时,用户在下一个请求中看到新数据至关重要。

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

4

3 回答 3

8

是的,可以使用HttpResponse.RemoveOutputCacheItem Method。检查这个问题:

于 2009-07-29T18:10:44.327 回答
0

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

于 2009-07-29T14:52:59.517 回答
0

您也可以使用HttpCachePolicy.AddValidationCallback()。总体思路是,当页面被渲染并插入缓存时,这个回调会与页面一起插入。在从缓存中检索页面时,调用回调并最终确定缓存的页面是陈旧的(并且应该被引导)还是有效的(并且应该被提供)。有关示例,请参见AuthorizeAttribute 源。但是,如果页面变得陈旧确实很少见,您可能会更好地使用其他响应中提到的 RemoveOutputCacheItem() 方法。

于 2009-07-29T21:13:42.263 回答