我使用的OutputCache属性缓存在服务器端的我的行动的HTML输出。
好吧,它的工作原理,但现在我有一个情况很少内容的变化,但是当它,它的关键用户能够看到新的数据在下次请求。
那么,有没有一种方法以编程方式中止页面的缓存时间?
我使用的OutputCache属性缓存在服务器端的我的行动的HTML输出。
好吧,它的工作原理,但现在我有一个情况很少内容的变化,但是当它,它的关键用户能够看到新的数据在下次请求。
那么,有没有一种方法以编程方式中止页面的缓存时间?
是的,这是可能的使用HttpResponse.RemoveOutputCacheItem方法 。 检查这个问题:
您可以扩展OutputCacheAttribute创建自己的缓存机制,让类似原来的ASP.net缓存依赖。
你也可以使用HttpCachePolicy.AddValidationCallback() 。 总的想法是,当呈现页面时,并插入到缓存中,这个回调与页面一起插入。 一旦从高速缓存页面检索,调用回调函数,使最终决定到缓存的页面是否是陈旧的(而且应该启动)或有效的(并且应该提供)。 看到AuthorizeAttribute源的一个例子。 如果成为陈旧的网页还真是少见,不过,你可能会更好地被RemoveOutputCacheItem()方法在担当其他响应提及。