CacheCow和OData缓存,如何使PUT / PATCH'/ Cars(1)'无效以获取GET ALL查询'/ Cars'?

时间:2014-10-02 18:58:40

标签: asp.net asp.net-web-api odata asp.net-web-api2 odata-v3

使用CacheCow时,就缓存而言,一切都很有效,除非我对/Cars(1)这样的特定项执行put / patch / other更新,它只会使/Cars(1)的获取查询失效并且不是父母获取所有/Cars

我一直在寻找文档似乎很稀疏,wiki只是如何使用其他类型的持久存储而不是任何自定义。

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

1 个答案:

答案 0 :(得分:0)

我最终选择https://github.com/filipw/AspNetWebApi-OutputCache开箱即用。我做了一些修改以允许它处理补丁/合并请求,您可以在此处查看:https://github.com/mackayj/AspNetWebApi-OutputCache/compare/filipw:master...master?w=1(在此处提取请求:https://github.com/filipw/AspNetWebApi-OutputCache/pull/103