Helper tag di cache distribuita in ASP.NET CoreDistributed Cache Tag Helper in ASP.NET Core

Di Peter Kellner e Luke LathamBy Peter Kellner and Luke Latham

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.The Distributed Cache Tag Helper provides the ability to dramatically improve the performance of your ASP.NET Core app by caching its content to a distributed cache source.

Per una panoramica degli helper tag, vedere Helper tag in ASP.NET Core.For an overview of Tag Helpers, see 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.The Distributed Cache Tag Helper inherits from the same base class as the Cache Tag Helper. Tutti gli attributi dell'helper tag di cache sono disponibili per l'helper tag di cache distribuita.All of the Cache Tag Helper attributes are available to the Distributed Tag Helper.

L'helper tag di cache distribuita usa l'inserimento del costruttore.The Distributed Cache Tag Helper uses constructor injection. L'interfaccia IDistributedCache viene passata nel costruttore dell'helper tag di cache distribuita.The IDistributedCache interface is passed into the Distributed Cache Tag Helper's constructor. Se non viene creata alcuna implementazione concreta di IDistributedCache in Startup.ConfigureServices (Startup.cs), l'helper tag di cache distribuita usa lo stesso provider in memoria per l'archiviazione dei dati memorizzati nella cache dell'helper tag di cache.If no concrete implementation of IDistributedCache is created in Startup.ConfigureServices (Startup.cs), the Distributed Cache Tag Helper uses the same in-memory provider for storing cached data as the Cache Tag Helper.

Attributi dell'helper per tag di cache distribuitaDistributed Cache Tag Helper Attributes

Attributi condivisi con l'helper tag di cacheAttributes shared with the Cache Tag Helper

  • 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.The Distributed Cache Tag Helper inherits from the same class as Cache Tag Helper. Per una descrizione di questi attributi, vedere Helper tag di cache.For descriptions of these attributes, see the Cache Tag Helper.

namename

Tipo di attributoAttribute Type EsempioExample
StringaString my-distributed-cache-unique-key-101

name è obbligatorio.name is required. L'attributo name viene usato come chiave per ogni istanza di cache archiviata.The name attribute is used as a key for each stored cache instance. A differenza dell'helper tag di cache, che assegna una chiave di cache a ogni istanza in base al nome della pagina Razor e alla posizione nella pagina Razor, nell'helper tag di cache distribuita la chiave è basata solo sull'attributo name.Unlike the Cache Tag Helper that assigns a cache key to each instance based on the Razor page name and location in the Razor page, the Distributed Cache Tag Helper only bases its key on the attribute name.

Esempio:Example:

<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 distribuitaDistributed Cache Tag Helper IDistributedCache implementations

Esistono due implementazioni di IDistributedCache integrate in ASP.NET Core.There are two implementations of IDistributedCache built in to ASP.NET Core. Una è basata su SQL Server e l'altra su Redis.One is based on SQL Server, and the other is based on Redis. I dettagli di queste implementazioni sono disponibili in Memorizzazione nella cache in ASP.NET Core distribuita.Details of these implementations can be found at Memorizzazione nella cache in ASP.NET Core distribuita. Entrambe le implementazioni implicano l'impostazione di un'istanza di IDistributedCache in Startup.Both implementations involve setting an instance of IDistributedCache in Startup.

Nessun attributo di tag è associato specificamente all'uso di un'implementazione specifica di IDistributedCache.There are no tag attributes specifically associated with using any specific implementation of IDistributedCache.

Risorse aggiuntiveAdditional resources