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

Di Peter KellnerBy 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.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 per 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
StringString 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. Diversamente dall'helper tag di cache che assegna una chiave di cache a ogni istanza in base al Razor nome e alla posizione della pagina Razor , l'helper tag di cache distribuita basa solo la relativa chiave 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. Sono inoltre disponibili implementazioni di terze parti, ad esempio NCache.Third-party implementations are also available, such as NCache. I dettagli di queste implementazioni sono disponibili in Caching distribuito in ASP.NET Core.Details of these implementations can be found at Caching distribuito in ASP.NET Core. 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