ASP konfigurieren.NET Core IDistributedCache
Sie können auch ASP verwenden.NET Core Sitzungen mit NCache IDistributedCache
Anbieter. ASP.NET Core bietet die AddDistributedMemoryCache
Methode zum Hinzufügen einer Standardimplementierung von IDistributedCache. Allerdings zu nutzen NCache als verteilter Cache zum Speichern von ASP.NET-Sitzungen oder -Objekten, NCache stellt eine eigene Erweiterungsmethode bereit, AddNCacheDistributedCache
, was hinzufügt NCache als standardmäßiger verteilter Cache als Implementierung von IDistributedCache
.
Voraussetzungen:
- Installieren Sie die folgenden NuGet-Pakete basierend auf Ihrer Anwendung in Ihrer Anwendung NCache Version:
- Unternehmen: NCache.Microsoft.Extensions.Caching
- Professional: NCache.Microsoft.Extensions.Caching.Professional
- Open Source: NCache.Microsoft.Extensions.Caching.OpenSource
- Um die Erweiterung zu nutzen, schließen Sie die folgenden Namespaces in Ihre Anwendung ein Startup.cs:
- Der Cache muss ausgeführt werden.
- Einzelheiten zur API finden Sie unter: SpeichernNCacheVerteilter Cache, SpeichernNCacheDistributedCacheProvider.
- Stellen Sie sicher, dass die hinzugefügten Daten serialisierbar.
- Um sicherzustellen, dass der Vorgang ausfallsicher ist, wird empfohlen, alle potenziellen Ausnahmen in Ihrer Anwendung zu behandeln, wie in erläutert Umgang mit Fehlern.
- Informationen zum Umgang mit unsichtbaren Ausnahmen finden Sie unter Problemlösung .
Schritt 1: Dienste konfigurieren
NCache bietet die AddNCacheDistributedCache
Erweiterungsmethode ein IServiceCollection
, was lediglich einen Cache-Namen erfordert NCache und alle optionalen Konfigurationen zum Speichern der Sitzungen. Das Konfigurationsobjekt ist dasselbe wie NCache ASP.NET Core Sitzungsanbieter, der auf ähnliche Weise initialisiert werden kann. Die Konfiguration kann über bereitgestellt werden IOptions
Initialisierer auch.
Es gibt zwei Methoden, um Konfigurationen anzugeben:
- Durch Ihre Bewerbung in Startup.cs or
- Im JSON-Format in Appsettings.json Ihrer Bewerbung.
Methode 1: Angeben von Konfigurationen in Startup.cs
Konfigurieren Sie Startup.cs für einen einzelnen Cache:
Das AddNCacheDistributedCache
Methode ist eine Erweiterung der AddDistributedCache
von ASP bereitgestellte Methode.NET Core. Diese Methode übernimmt Konfigurationseinstellungen Startup.cs Ihrer Anwendung oder liest sie aus der angegebenen JSON-Datei.
Fügen Sie die folgende Methode und Optionen hinzu Startup.cs Ihrer Bewerbung:
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCache(configuration =>
{
configuration.CacheName = "demoCache";
configuration.EnableLogs = true;
configuration.ExceptionsEnabled = true;
});
}
Konfigurieren Sie Startup.cs für mehrere Caches:
Note
Diese Funktion ist in verfügbar NCache Enterprise nur.
Das AddNCacheDistributedCacheProvider
ist eine Erweiterung der AddDistributedCache
von ASP bereitgestellte Methode.NET Core. Diese Methode übernimmt Konfigurationseinstellungen im Startup.cs Ihrer Bewerbung. Sie können mehrere Caches mit konfigurieren AddNCacheDistributedCacheProvider
Methode wie folgt:
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCacheProvider( options =>
{
options.CacheConfigurations = new NCacheConfiguration[] {
new NCacheConfiguration() {
CacheName = "demoClusteredCache",
EnableLogs = true,
ExceptionsEnabled = true
},
new NCacheConfiguration(){
CacheName = "demoCache",
EnableLogs = true,
ExceptionsEnabled = true }
};
});
}
Methode 2: Angeben von Konfigurationen in Appsettings.json
Sie können die Konfigurationen innerhalb Ihrer Anwendung auch im JSON-Format angeben Appsettings.json Ihrer Bewerbung. Mit dieser Methode können Sie auf die Konfigurationen verweisen, indem Sie den Namen des Abschnitts angeben, der Konfigurationen im JSON-Format enthält Startup.cs.
Konfigurieren Sie Appsettings.json für einen einzelnen Cache: Konfigurieren Sie die Appsettings.json Datei Ihrer Anwendung, um einen einzelnen Cache wie folgt zu konfigurieren:
{
"AppSettings": {
"SiteTitle": "ASP.NET MVC Music Store",
"CacheDbResults": true,
},
"NCacheSettings": {
"CacheName": "demoCache",
"EnableLogs": "True",
"RequestTimeout": "90"
},
}
Beachten Sie diese Konfigurationen im Startup.cs wie folgt:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCache(Configuration.GetSection("NCacheSettings"));
services.AddSession();
}
Konfigurieren Sie Appsettings.json für mehrere Caches:
Konfigurieren Sie die Appsettings.json Datei Ihrer Anwendung, um mehrere Caches wie folgt zu konfigurieren:
"NCacheFactorySettings": {
"NCacheConfigurations": [
{
"CacheName": "demoClusteredCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
"CacheName": "demoCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
// Configure more caches
}
]
}
Verwenden Sie das AddNCacheDistributedCacheProvider
Methode, um auf die zu verweisen NCacheFactorySettings
Abschnitt in Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCacheProvider(_config.GetSection("NCacheFactorySettings"));
services.AddSession();
}
Schritt 2: Middleware zur Anwendung hinzufügen
Sobald der verteilte Cache zum Dienst hinzugefügt wurde, können Sitzungen die Daten darin speichern NCachedem „Vermischten Geschmack“. Seine UseSession
Erweiterungsmethode, die von ASP bereitgestellt wird.NET Core fügt der Anwendung die Standard-Sitzungs-Middleware hinzu, nutzt sie jedoch NCache als Cache.
Sie können jetzt fortfahren - NCache als zugrundeliegender Cache für Ihren ASP.NET Core Sitzungen.
Konfigurationseigenschaften
Spezifische Konfigurationen für verteiltes Caching werden im Folgenden erläutert:
Siehe die CacheConnectionOptions-API-Dokumentation Weitere Einzelheiten zu den Eigenschaften dieser Klasse finden Sie hier.
Mitglied | Typ | Beschreibung | Standardwert |
---|---|---|---|
CacheName |
string (erforderlich) |
Gibt den Namen des Caches an, der für die Caching-Sitzung verwendet werden soll. Wenn kein Cache-Name angegeben wird, wird eine Konfigurationsausnahme ausgelöst. | - |
EnableLogs |
bool (optional) |
Wenn dieses Flag gesetzt ist, NCache protokolliert alle Fehlerinformationen. Die Protokolldateien werden in erstellt %NCHOME%\log-files\SessionState (Windows) oder /opt/ncache/log-files/SessionState (Linux). |
false |
EnableDetailLogs |
bool (optional) |
Wenn dieses Flag gesetzt ist, NCache Protokolliert alle Debugging-Informationen. Die Protokolldateien werden in erstellt %NCHOME%\log-files\SessionState (Windows) oder /opt/ncache/log-files/SessionState (Linux). |
false |
ExceptionsEnabled |
bool (optional) |
Gibt an, ob Ausnahmen von der Cache-API an die Seitenausgabe weitergegeben werden. Das Setzen dieses Flags ist besonders während der Entwicklungsphase der Anwendung hilfreich, da Ausnahmen mehr Informationen über die spezifischen Fehlerursachen liefern. | false |
WriteExceptionsToEventLog |
bool (optional) |
Wenn dieses Flag gesetzt ist, werden alle Ausnahmen von der Cache-API in Ereignisprotokolle geschrieben. | false |
RequestTimeout |
int |
Gibt den Timeout für Client-Anfragen in Sekunden an. | 90 |
OperationsRetry |
int (optional) |
Gibt an, wie oft ein Server einen Vorgang wiederholt, falls die Verbindung während der Ausführung eines Vorgangs unterbrochen wird. | 0 |
OperationRetryInterval |
int (optional) |
Gibt das Zeitintervall zwischen den einzelnen Vorgangswiederholungen an. | 0 |
Siehe auch
.NETZ: Alachisoft.NCache.Caching.Verteilt Namespace.