Helper tag di cache distribuita in ASP.NET Core

Di Peter Kellner

L'helper tag di cache distribuita consente di migliorare notevolmente le prestazioni dell'app ASP.NET Core memorizzandone il contenuto in un'origine cache distribuita.

Per una panoramica degli helper tag, vedere Helper tag in ASP.NET Core.

L'helper tag di cache distribuita eredita dalla stessa classe di base da cui eredita l'helper tag di cache. Tutti gli attributi dell'helper tag di cache sono disponibili per l'helper tag di cache distribuita.

L'helper tag di cache distribuita usa l'inserimento del costruttore. L'interfaccia IDistributedCache viene passata nel costruttore dell'helper tag di cache distribuita. Se non viene creata alcuna implementazione concreta di IDistributedCache in Startup.ConfigureServices (Startup.cs), l'helper tag cache distribuita usa lo stesso provider in memoria per l'archiviazione dei dati memorizzati nella cache come helper tag cache.

Attributi dell'helper per tag di cache distribuita

Attributi condivisi con l'helper tag di cache

  • enabled
  • expires-on
  • expires-after
  • expires-sliding
  • vary-by-header
  • vary-by-query
  • vary-by-route
  • vary-by-cookie
  • vary-by-user
  • vary-by
  • priority

L'helper tag di cache distribuita eredita dalla stessa classe dell'helper tag di cache. Per una descrizione di questi attributi, vedere Helper tag di cache.

name

Tipo di attributo Esempio
Stringa my-distributed-cache-unique-key-101

name è obbligatorio. L'attributo name viene usato come chiave per ogni istanza di cache archiviata. A differenza dell'helper tag cache che assegna una chiave della cache a ogni istanza in base al Razor nome e alla posizione della Razor pagina, l'helper tag cache distribuita basa solo la chiave sull'attributo name.

Esempio:

<distributed-cache name="my-distributed-cache-unique-key-101">
    Time Inside Cache Tag Helper: @DateTime.Now
</distributed-cache>

Implementazioni IDistributedCache dell'helper tag di cache distribuita

Esistono due implementazioni di IDistributedCache integrate in ASP.NET Core. Una è basata su SQL Server e l'altra su Redis. Sono disponibili anche implementazioni di terze parti, ad esempio NCache. I dettagli di queste implementazioni sono disponibili in Memorizzazione nella cache distribuita in ASP.NET Core. Entrambe le implementazioni implicano l'impostazione di un'istanza di IDistributedCache in Startup.

Nessun attributo di tag è associato specificamente all'uso di un'implementazione specifica di IDistributedCache.

Risorse aggiuntive