CacheCow和OData缓存,如何使Get All查询'/ Cars'的PUT/PATCH'/ Cars(1)'失效?

问题描述:

当使用CacheCow一切是伟大的工作尽可能缓存推移,当我做了认沽/补丁/其他更新像/Cars(1)特定项目,除了它只是无效的/Cars(1)的GET查询,而不是母公司获得所有的/CarsCacheCow和OData缓存,如何使Get All查询'/ Cars'的PUT/PATCH'/ Cars(1)'失效?

我一直在寻找和文档似乎很稀疏,维基只是有如何使用其他类型的持久性存储,而不是真正的任何定制。

我不介意在每个方法中都需要调用像Cacher.Invalidate("Cars")或类似的东西,但我不确定我必须调用什么,因为CacheCow设置全都发生在配置中,而不是每个控制器,所以我不知道我必须调用什么(如果一种方法甚至存在)。

+0

您可以在[github]中向库的创建者打开问题( https://github.com/aliostad/CacheCow/issues)。他是个不错的人,反应非常快。 – gdoron 2014-10-02 20:10:22

我最终与https://github.com/filipw/AspNetWebApi-OutputCache一起工作,开箱即用。我做了一些修改,允许它使用Patch/Merge请求,您可以在这里查看:https://github.com/mackayj/AspNetWebApi-OutputCache/compare/filipw:master...master?w=1(请求请求:https://github.com/filipw/AspNetWebApi-OutputCache/pull/103