2016-08-04 27 views
1

Ich arbeite derzeit mit WebAPI 2 und erwägt, auf ASP.Net Core zu aktualisieren.Asp.Net Core unterstützt HttpCaching Nuget Paket

Derzeit wird mein HTTP-Caching von Strathweb.CacheOutput.WebApi2 verwaltet und ich erkannte, dass es nicht von Asp.Net Core unterstützt wird.

die wichtigsten Funktionen, die ich über sie mag:

  • die volle Kontrolle über das, was im Cache gespeichert wird und wie
  • Auto Entwertung von Caches, wenn ein Post/put/löschen/Patch

auftritt für die vollständige Liste der Funktionen, Strathweb.CacheOutput.WebApi2 auf github: https://github.com/filipw/Strathweb.CacheOutput

eine Idee von einem entsprechenden Paket?

(im schlimmsten Fall, ich muss natürlich meine eigene Logik schreiben ...)

Hinweise: Ich bin mir dessen bewusst ResponseCacheAttribute aber es fehlt die automatische Invalidierungsfunktion

+0

haben Sie in Build-in-Caching untersucht? https://github.com/aspnet/Caching – Set

Antwort

1

ResponseCacheAttribute dreht sich alles um den Cache-Control HTTP Response Header (browserbasierter Cache). Ich denke, das ist nicht das, wonach Sie suchen.

Sie haben auch Microsoft.AspNetCore.ResponseCaching, aber in der aktuellen Version (Release 1.0.0) unterstützt es nicht die Ungültigkeitserklärung bei POST/PATCH/DELETE, wie Sie gesagt haben.

Ihre Optionen:

  • Warten Sie, bis sie umgesetzt wird. Siehe issue
  • Gabel und implementieren Sie sich. (Überprüfen Sie die ResponseCachingContext Klasse)
+0

Warum cachebrowser nicht, was ich suche? – shirbr510

+1

mmm ... gute Frage. Tatsächlich kann das Browser-Caching funktionieren, wenn Ihr Cache-Control die Anweisung 'must-revalidate' enthält und Sie einen serverseitigen Speichercache haben. Aber das ResponseCacheAttribute ist nicht wirklich eine Cache-Implementierung, derzeit (1.0.0) ist es nur ein HTTP-Header, der dem Browser sagt - "Hey, fordere das nicht für 5 Minuten erneut, okay?" –

+1

Das bedeutet, dass Cache-Invalidierung nicht möglich ist nicht mehr. –