编程中止的OutputCache时间在asp.net mvc的(Abort OutputCache

2019-07-31 02:03发布

我使用的OutputCache属性缓存在服务器端的我的行动的HTML输出。

好吧,它的工作原理,但现在我有一个情况很少内容的变化,但是当它,它的关键用户能够看到新的数据在下次请求。

那么,有没有一种方法以编程方式中止页面的缓存时间?

Answer 1:

是的,这是可能的使用HttpResponse.RemoveOutputCacheItem方法 。 检查这个问题:

  • SO -如何为控制器的操作方法编程清晰的输出缓存


Answer 2:

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



Answer 3:

你也可以使用HttpCachePolicy.AddValidationCallback() 。 总的想法是,当呈现页面时,并插入到缓存中,这个回调与页面一起插入。 一旦从高速缓存页面检索,调用回调函数,使最终决定到缓存的页面是否是陈旧的(而且应该启动)或有效的(并且应该提供)。 看到AuthorizeAttribute源的一个例子。 如果成为陈旧的网页还真是少见,不过,你可能会更好地被RemoveOutputCacheItem()方法在担当其他响应提及。



文章来源: Abort OutputCache duration programmatically in asp.net mvc