【问题标题】:Asp.Net Core supported HttpCaching Nuget PackageAsp.Net Core 支持 HttpCaching Nuget 包
【发布时间】:2016-08-04 05:39:04
【问题描述】:

我目前正在与WebAPI 2 合作并考虑升级到ASP.Net Core

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

我喜欢它的主要特点:

  • 完全控制缓存的内容和方式
  • 每当发生 post/put/delete/patch 时缓存自动失效

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

知道相应的包吗?

(在最坏的情况下,我显然必须编写自己的逻辑......)

注意:我知道ResponseCacheAttribute,但它缺少自动失效功能

【问题讨论】:

标签: c# asp.net asp.net-web-api asp.net-core http-caching


【解决方案1】:

ResponseCacheAttribute 是关于Cache-Control HTTP 响应标头(基于浏览器的缓存)的全部内容。我认为这不是您想要的。

您也有Microsoft.AspNetCore.ResponseCaching,但在当前版本(1.0.0 版)中,它不支持在 POST/PATCH/DELETE 上失效,如您所说。

您的选择:

【讨论】:

  • 为什么浏览器不缓存我要查找的内容?
  • 嗯...好问题。实际上,如果您的 Cache-Control 包含 must-revalidate 指令并且您有服务器端内存缓存,则浏览器缓存可以工作。但是 ResponseCacheAttribute 并不是真正的缓存实现,目前(1.0.0)它只是一个告诉浏览器的 HTTP 标头 - “嘿,不要重新请求 5 分钟,好吗?”
  • 这意味着缓存失效不再可能。
猜你喜欢
  • 2017-01-17
  • 1970-01-01
  • 2020-06-08
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
  • 1970-01-01
  • 2012-03-25
  • 1970-01-01
相关资源
最近更新 更多