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 :

  1. Démarrez Microsoft Visual Studio .NET et créez une application web ASP.NET.
  2. Dans Explorateur de solutions, double-cliquez sur Web.config pour afficher le contenu de ce fichier.
  3. Recherchez la <sessionState> section et définissez la valeur du mode sur Désactivé.
  4. 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 :

  1. Démarrez Visual Studio .NET et créez une application web ASP.NET.

  2. Dans Explorateur de solutions, double-cliquez sur le formulaire web pour lequel vous souhaitez désactiver l’état de session.

  3. Sélectionnez l’onglet HTML .

  4. 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" %>
    
  5. 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