Taghilfsprogramm für verteilten Cache in ASP.NET Core

Von Peter Kellner

Durch das Taghilfsprogramm für verteilten Cache kann die Leistung Ihrer ASP.NET Core-App erheblich verbessert werden, indem deren Inhalte in einer verteilten Cachequelle zwischengespeichert werden.

Eine Übersicht über Taghilfsprogramme finden Sie unter Taghilfsprogramme in ASP.NET Core.

Das Taghilfsprogramm für verteilten Cache erbt von derselben Basisklasse wie das Cache-Taghilfsprogramm. Alle Attribute des Cache-Taghilfsprogramms sind für das Taghilfsprogramm für verteilten Cache verfügbar.

Das Taghilfsprogramm für verteilten Cache verwendet die Konstruktorinjektion. Die Schnittstelle IDistributedCache wird an den Konstruktor des Taghilfsprogramms für verteilten Cache übergeben. Wenn keine konkrete Implementierung von IDistributedCache in Startup.ConfigureServices (Startup.cs) erstellt wird, verwendet das Taghilfsprogramm für den verteilten Cache denselben In-Memory-Anbieter für die Speicherung zwischengespeicherter Daten wie das Taghilfsprogramm für den Cache.

Attribute des Taghilfsprogramms für verteilten Cache

Attribute, die für das Cache-Taghilfsprogramm freigegeben sind:

  • 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

Das Taghilfsprogramm für verteilten Cache erbt von derselben Klasse wie das Cache-Taghilfsprogramm. Beschreibungen dieser Attribute finden Sie im Cache-Taghilfsprogramm.

name

Attributtyp Beispiel
String my-distributed-cache-unique-key-101

name ist erforderlich. Das name-Attribut wird als Schlüssel für die einzelnen gespeicherten Cacheinstanzen verwendet. Im Gegensatz zum Taghilfsprogramm für den Cache, das basierend auf dem Razor Page-Namen und der Position in der Razor Page jeder Instanz einen Cacheschlüssel zuweist, basieren die Schlüssel des Taghilfsprogramms für den verteilten Cache nur auf dem Attribut name.

Beispiel:

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

Implementierungen von IDistributedCache im Taghilfsprogramm für verteilten Cache

In ASP.NET Core gibt es zwei Implementierungen von IDistributedCache. Eine basiert auf SQL Server, die andere auf Redis. Drittanbieterimplementierungen sind ebenfalls verfügbar, z. B. NCache. Einzelheiten zu diesen Implementierungen finden Sie unter Verteiltes Zwischenspeichern in ASP.NET Core. Für beide Implementierungen wird eine Instanz von IDistributedCache in Startup festgelegt.

Es gibt keine Tagattribute, die einer bestimmten Implementierung von IDistributedCache explizit zugeordnet sind.

Zusätzliche Ressourcen