Désactiver l’état de session ASP dans ASP.NET
Cet article explique comment désactiver l’état de session dans ASP.NET.
Version d’origine du produit : ASP.NET
Numéro de la base de connaissances d’origine : 306996
Résumé
Lorsque l’état de session est activé, ASP.NET crée une session pour chaque utilisateur qui accède à l’application, qui est utilisée pour identifier l’utilisateur sur les pages de l’application. Lorsque l’état de session est désactivé, les données utilisateur ne sont pas suivies et vous ne pouvez pas stocker d’informations dans l’objet Session
ou utiliser les Session_OnStart
événements ou Session_OnEnd
. En désactivant l’état de session, vous pouvez augmenter les performances si l’application ou la page ne nécessite pas d’état de session pour l’activer.
Dans ASP.NET, si vous n’utilisez pas l’objet Session
pour stocker des données ou si l’un Session
des événements (Session_OnStart
ou Session_OnEnd
) est géré, l’état de session est désactivé. Une nouvelle Session.SessionID
est créée chaque fois qu’une seule page est actualisée dans une session de navigateur.
Désactiver l’état de session au niveau de l’application
Les étapes suivantes montrent comment désactiver l’état de session au niveau de l’application, ce qui affecte toutes les pages de l’application :
- Démarrez Microsoft Visual Studio .NET et créez une application web ASP.NET.
- Dans Explorateur de solutions, double-cliquez sur Web.config pour afficher le contenu de ce fichier.
- Recherchez la
<sessionState>
section et définissez la valeur du mode sur Désactivé. - Enregistrez le fichier et/ou le projet pour désactiver l’état de session sur toutes les pages de l’application.
Désactiver l’état de session au niveau de la page
Les étapes suivantes montrent comment désactiver l’état de session au niveau de la page, ce qui affecte uniquement les pages spécifiques qui activent ces modifications :
Démarrez Visual Studio .NET et créez une application web ASP.NET.
Dans Explorateur de solutions, double-cliquez sur le formulaire web pour lequel vous souhaitez désactiver l’état de session.
Sélectionnez l’onglet HTML .
En haut de la page, ajoutez
EnableSessionState="false"
la directive @ Page. L’attribut modifié doit ressembler à ce qui suit :<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" EnableSessionState="false" %>
Enregistrez le fichier et/ou le projet pour désactiver l’état de session dans toutes les pages de l’application.
Résolution des problèmes
Si vous essayez de définir ou de récupérer des informations lorsque l’état de session est désactivé, le message d’erreur suivant s’affiche :
L’état de session ne peut être utilisé que lorsque enableSessionState a la valeur true, soit dans un fichier de configuration, soit dans la directive Page
References
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour