2016-08-04 113 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

這意味着緩存失效是不可能的了。 –