Maison >développement back-end >C++ >Pourquoi le téléchargement de fichiers volumineux dans une application Web à session partagée en bloque-t-il une autre ?
Verrouillage de session partagée dans les applications Web : une étude de cas
Deux applications Web déployées sur IIS, /HRMS et /TravelDesk, utilisent AspState pour la gestion des sessions partagées, permettant aux utilisateurs de passer de l'une à l'autre de manière transparente. Cependant, un goulot d'étranglement important en matière de performances survient lorsqu'un utilisateur télécharge des fichiers volumineux dans /TravelDesk ; /HRMS ne répond plus pendant ce processus.
Cause première : verrouillage de session
Le problème vient du comportement de la session partagée. Les téléchargements de fichiers volumineux dans /TravelDesk verrouillent les données de session de l'utilisateur dans la base de données SQL Server. Ce verrou empêche l'accès simultané par /HRMS, entraînant le gel de l'application.
Résolution : désactivation du verrouillage de session pendant les téléchargements
La solution la plus simple consiste à désactiver le verrouillage de session spécifiquement pendant le processus de téléchargement de fichiers dans /TravelDesk. Cela peut être implémenté en définissant EnableSessionState="false"
dans la directive de page ou le gestionnaire responsable du téléchargement.
Solutions alternatives : au-delà des sessions partagées
Pour une meilleure évolutivité et pour éliminer complètement le verrouillage de session, envisagez ces alternatives à la gestion de session partagée :
En mettant en œuvre la technique de désactivation de session ou en migrant vers une approche de session basée sur une base de données, une navigation transparente entre /HRMS et /TravelDesk peut être restaurée, même lors de téléchargements de fichiers volumineux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!