Configurer ASP.NET Core IDistributedCache
Vous pouvez également utiliser ASP.NET Core Séances avec NCachec'est IDistributedCache
Fournisseur. ASPIC.NET Core Fournit le AddDistributedMemoryCache
method to add a default implementation of a IDistributedCache. Cependant, pour utiliser NCache en tant que cache distribué pour stocker des sessions ou des objets ASP.NET, NCache fournit sa propre méthode d'extension, AddNCacheDistributedCache
, ce qui ajoute NCache comme cache distribué par défaut en tant qu'implémentation de IDistributedCache
.
Prerequisites to Configure ASP.NET Core IDistributedCache
- Installez les packages NuGet suivants dans votre application en fonction de votre NCache Version:
- Enterprise: NCache.Microsoft.Extensions.Caching
- Professionnel: NCache.Microsoft.Extensions.Caching.Professional
- Open source: NCache.Microsoft.Extensions.Caching.OpenSource
- Pour utiliser l'extension, incluez les espaces de noms suivants dans votre application dans Démarrage.cs:
- Le cache doit être en cours d'exécution.
- Pour plus de détails sur l'API, reportez-vous à : AjouterNCacheCache distribué, AjouterNCacheDistributedCacheProviderDistributedCacheProviderDistributedCacheProviderDistributedCacheProvider.
- Assurez-vous que les données ajoutées sont sérialisable.
- Pour garantir la sécurité de l'opération, il est recommandé de gérer toutes les exceptions potentielles au sein de votre application, comme expliqué dans Gestion des échecs.
- Pour gérer les exceptions invisibles, reportez-vous au Dépannage .
Étape 1 : Configurer les services
NCache Fournit le AddNCacheDistributedCache
méthode d'extension activée IServiceCollection
, qui nécessite juste un nom de cache dans NCache et toutes les configurations facultatives pour stocker les sessions. L'objet de configuration est le même que NCache ASP.NET Core Fournisseur de session, qui peut être initialisé de la même manière. La configuration peut être fournie via le IOptions
initialiseur également.
Il existe deux méthodes pour spécifier des configurations :
- Grâce à votre candidature en Démarrage.cs or
- Au format JSON dans Appsettings.json de votre application.
Méthode 1 : spécification des configurations dans Startup.cs
Configurez Startup.cs pour le cache unique :
La AddNCacheDistributedCache
méthode est une extension de la AddDistributedCache
méthode fournie par ASP.NET Core. Cette méthode prend les paramètres de configuration dans Démarrage.cs de votre application, ou les lit à partir du fichier JSON spécifié.
Ajoutez la méthode et les options suivantes dans Démarrage.cs de votre candidature :
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCache(configuration =>
{
configuration.CacheName = "demoCache";
configuration.EnableLogs = true;
configuration.ExceptionsEnabled = true;
});
}
Configurez Startup.cs pour plusieurs caches :
Notes
Cette fonctionnalité est disponible en NCache Enterprise seulement.
La AddNCacheDistributedCacheProvider
est une extension de la AddDistributedCache
méthode fournie par ASP.NET Core. Cette méthode prend les paramètres de configuration dans le Démarrage.cs de votre candidature. Vous pouvez configurer plusieurs caches à l'aide de l'outil AddNCacheDistributedCacheProvider
méthode comme suit:
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 }
};
});
}
Méthode 2 : spécification des configurations dans Appsettings.json
Vous pouvez également spécifier les configurations au sein de votre application au format JSON dans Appsettings.json de votre candidature. Grâce à cette méthode, vous pouvez faire référence aux configurations en fournissant le nom de la section contenant les configurations au format JSON dans Démarrage.cs.
Configurez Appsettings.json pour le cache unique : Configurer le Appsettings.json fichier de votre application pour configurer un seul cache comme suit :
{
"AppSettings": {
"SiteTitle": "ASP.NET MVC Music Store",
"CacheDbResults": true,
},
"NCacheSettings": {
"CacheName": "demoCache",
"EnableLogs": "True",
"RequestTimeout": "90"
},
}
Reportez-vous à ces configurations dans le Démarrage.cs comme suit:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCache(Configuration.GetSection("NCacheSettings"));
services.AddSession();
}
Configurez Appsettings.json pour plusieurs caches :
Configurer le Appsettings.json fichier de votre application pour configurer plusieurs caches comme suit :
"NCacheFactorySettings": {
"NCacheConfigurations": [
{
"CacheName": "demoClusteredCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
"CacheName": "demoCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
// Configure more caches
}
]
}
Utilisez l'option AddNCacheDistributedCacheProvider
méthode pour se référer à la NCacheFactorySettings
section Démarrage.cs:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCacheProvider(_config.GetSection("NCacheFactorySettings"));
services.AddSession();
}
Étape 2 : ajouter un middleware à l'application
Une fois le cache distribué ajouté au service, les sessions peuvent stocker les données dans NCacheL’ UseSession
méthode d'extension fournie par ASP.NET Core ajoutera le middleware de session par défaut à l'application mais utilisera NCache comme cache.
Vous pouvez maintenant passer à utilisé NCache comme cache sous-jacent pour votre ASP.NET Core Séances.
Propriétés de configuration
Les configurations spécifiques à la mise en cache distribuée sont expliquées ci-dessous :
Reportez-vous à Documentation de l'API CacheConnectionOptions pour plus de détails sur les propriétés de cette classe.
Membre | Type | Description | Valeur par défaut |
---|---|---|---|
CacheName |
string (Obligatoire) |
Spécifie le nom du cache à utiliser pour la session de mise en cache. Si aucun nom de cache n'est spécifié, une exception de configuration sera levée. | - |
EnableLogs |
bool (Optionnel) |
Si ce drapeau est activé, NCache enregistre toutes les informations sur les erreurs. Les fichiers journaux sont créés dans %NCHOME%\log-files\SessionState (Windows) ou /opt/ncache/log-files/SessionState (Linux). |
false |
EnableDetailLogs |
bool (Optionnel) |
Lorsque ce drapeau est activé, NCache enregistre toutes les informations de débogage. Les fichiers journaux sont créés dans %NCHOME%\log-files\SessionState (Windows) ou /opt/ncache/log-files/SessionState (Linux). |
false |
ExceptionsEnabled |
bool (Optionnel) |
Spécifie si les exceptions de l'API de cache sont propagées à la sortie de la page. La définition de cet indicateur est particulièrement utile pendant la phase de développement de l'application, car les exceptions fournissent plus d'informations sur les causes spécifiques de l'échec. | false |
WriteExceptionsToEventLog |
bool (Optionnel) |
Si cet indicateur est défini, toutes les exceptions de l'API de cache sont écrites dans les journaux d'événements. | false |
RequestTimeout |
int |
Spécifie le délai d'expiration des demandes client en secondes. | 90 |
OperationsRetry |
int (Optionnel) |
Spécifie le nombre de fois qu'un serveur réessaye une opération, au cas où la connexion serait perdue lors de l'exécution d'une opération. | 0 |
OperationRetryInterval |
int (Optionnel) |
Spécifie l'intervalle de temps entre chaque nouvelle tentative d'opération. | 0 |
Voir aussi
.RAPPORTER: Alachisoft.NCache.Caching.Distribué espace de noms.