2016-08-04 115 views
1

我目前正在与WebAPI 2并考虑升级到ASP.Net CoreAsp.Net核心支持HttpCaching Nuget包

目前,我的http缓存由Strathweb.CacheOutput.WebApi2管理,我意识到它不支持Asp.Net Core

主要特点我喜欢它:

  • 在被缓存什么的完全控制,以及如何
  • 缓存自动失效遇有员额/ PUT /删除/补丁出现

对于完整的功能列表,Strathweb.CacheOutput.WebApi2上github:https://github.com/filipw/Strathweb.CacheOutput

任何想法的相应包?

(在最坏的情况下,我明明有写我自己的逻辑......)

注:我知道的ResponseCacheAttribute但缺乏自动失效功能

+0

你看过构建缓存吗? https://github.com/aspnet/Caching – Set

回答

1

ResponseCacheAttribute全部是关于Cache-Control HTTP响应头(基于浏览器的缓存)。我认为这不是你想要的。如你所说,你也有Microsoft.AspNetCore.ResponseCaching,但是在当前版本(版本1.0.0)它不支持POST/PATCH/DELETE上的失效。

您的选择:

+0

为什么浏览器不缓存我在找什么? – shirbr510

+1

嗯...好问题。实际上,如果您的Cache-Control包含'must-revalidate'指令并且您有一个服务器端内存缓存,则浏览器缓存可以工作。但ResponseCacheAttribute实际上并不是一个缓存实现,目前(1.0.0)它只是一个告诉浏览器的HTTP头 - “嘿,不要再请求这个5分钟,好吗?” –

+1

这意味着缓存失效是不可能的了。 –