Pour les déploiements sur site, ASP.NET Session State propose trois options de stockage intégrées (InProc, StateServer et SqlServer) et une quatrième option « Personnalisée ». Les deux premières options intégrées (InProc StateServer) présentent des problèmes d'évolutivité, tandis que l'option SqlServer présente des problèmes de performances et d'évolutivité.
Une bien meilleure stratégie consiste à utiliser l'option et le plug-in "Personnalisé" NCache comme votre Fournisseur d'état de session ASP.NET. NCache est un cache distribué Open Source extrêmement rapide et évolutif pour .NET. Il gère une charge de transaction extrême en vous permettant d'ajouter plus de serveurs de cache au moment de l'exécution et d'évoluer de manière linéaire. NCache fournit également des informations intelligentes réplication du cache afin que vous ne perdiez aucun état de session ASP.NET si un serveur Web ou un serveur de cache tombe en panne.
Exécution NCache Votre fournisseur d'état de session (SSP) ne nécessite aucune modification de code. Il vous suffit de suivre ces étapes :
Consultez les détails de configuration Fournisseur d'état de session ASP.NET pour NCacheVoici quelques-uns des avantages de l'utilisation de NCache en tant que fournisseur d'état de session ASP.NET :
NCache propose deux méthodes pour gérer l'état des sessions ASP.NET des applications exécutées dans plusieurs régions (centres de données) tout en maintenant la cohérence des sessions. Ces méthodes sont les suivantes :
Réplication WAN de l'état de la session ASP.NET : NCache fournit une Topologie de pont pour vous permettre de répliquer l'intégralité de votre magasin d'état de session ASP.NET (le cache distribué) vers une autre région (centre de données) à travers le WANCela garantit que vos sessions existent toujours dans plusieurs régions (centres de données). Vous pouvez utiliser ce mode en mode actif-passif (pour la reprise après sinistre) ou actif-actif. En mode actif-actif, vous pouvez même équilibrer la charge du trafic entre plusieurs régions (centres de données). Tout cela se fait par des modifications de configuration.
État de la session ASP.NET multirégionale : Si vous ne souhaitez pas répliquer l'état de session ASP.NET sur le WAN en raison du coût de consommation de bande passante, vous pouvez utiliser État de session ASP.NET multisite caractéristique de NCacheDans ce cas, l'état de session ASP.NET n'est pas répliqué entre les sites, mais conservé à l'emplacement de sa création. Cependant, si vous déplacez du trafic d'une région (centre de données) vers une autre, l'état de session ASP.NET se déplace avec lui. Cela permet d'avoir deux ou plusieurs régions actives (centres de données), chacune conservant la majeure partie de son trafic local, mais débordant occasionnellement vers une autre région si nécessaire.
De plus, vous pouvez également faire tomber un centre de données sans provoquer d’interruptions pour les utilisateurs, car leurs sessions seront accessibles par d’autres centres de données.
Le NCache Le fournisseur d'état de session ASP.NET implémente toutes les normes Fournisseur d'état de session ASP.NET fonctionnalités. De plus, il offre diverses fonctionnalités avancées pour vous permettre de gérer des situations complexes dans vos applications.
INSTALL_DIR\NCache\log-files\SessionStoreProvider dossier) en spécifiant enableLogs = "true". Vous pouvez également activer la journalisation des erreurs dans le journal des événements Windows en spécifiant writeExceptionsToEventLog = "true".Verrouillage de session standard : Le comportement standard du verrouillage de session ASP.NET est le suivant : si une session est verrouillée, une autre requête attend 90 secondes (configurable) avant de forcer le déverrouillage de la session. Vous pouvez spécifier cette option comme suit :
enableSessionLocking = "true" sessionLockingRetry = "-1" emptySessionWhenLocked = "false"
Verrouillage de session amélioré : Si vous avez une application ASP.NET à fort trafic, où les robots peuvent extraire des données et utiliser le même identifiant de session pour des centaines, voire des milliers de requêtes simultanément, vous ne pouvez pas vous permettre l'option de verrouillage de session standard, car une attente de 90 secondes pourrait occuper tous vos sockets disponibles. Il est préférable de renvoyer la requête rapidement pour signaler un échec. Vous pouvez spécifier ceci comme suit :
enableSessionLocking = "true" sessionLockingRetry = "5" emptySessionWhenLocked = "false"
Cela effectue 5 tentatives à intervalles d'une demi-seconde, puis renvoie une session vide pour signaler un échec.
© Copyright Alachisoft 2002 - . Tous droits réservés. NCache est une marque déposée de Diyatech Corp.