WebAPI OutputCache缓存失效

时间:2015-02-04 15:27:03

标签: caching asp.net-web-api cache-control outputcache

我的控制器方法有以下缓存属性:

 [CacheOutput(ClientTimeSpan = 14400, ServerTimeSpan = 14400)]

我正在尝试清除缓存。但是,在运行这行代码之后:

 //clear cache   
 cache.RemoveStartsWith(Configuration.CacheOutputConfiguration().MakeBaseCachekey("BeamsController", "Get"));

在没有调用控制器方法的情况下,我仍然得到304未修改的响应。

我正在使用此库https://github.com/filipw/AspNetWebApi-OutputCache

1 个答案:

答案 0 :(得分:2)

 [InvalidateCacheOutput("Get", typeof(BeamsController))] 

似乎有效,而不是手动失效' (RemoveStartsWith),上面。

事实上,在阅读了属性的源代码之后,文档似乎是错误的,它应该是:

cache.RemoveStartsWith(Configuration.CacheOutputConfiguration().MakeBaseCachekey("Beams", "Get"));

按预期工作,调用方法。