Configurer SQL Server pour stocker ASP.NET’état de session

Cet article explique comment configurer Microsoft SQL Server pour la gestion de l’état de session en mode ASP.NET SQL Server.

              Version d’origine du produit : ASP.NET
Numéro de la base de connaissances d’origine : 317604

Configuration requise

La liste suivante décrit le matériel, les logiciels, l’infrastructure réseau et les Service Packs recommandés dont vous avez besoin :

  • Windows
  • .NET Framework
  • Internet Information Services (IIS)
  • SQL Server

Configurer SQL Server pour ASP.NET SQL Server’état de session

Les étapes suivantes décrivent comment exécuter les fichiers de script InstallSqlState.sql et UninstallSqlState.sql pour configurer la gestion de l’état de session en mode SQL Server.

  1. Dans l’Analyseur de requêtes SQL, dans le menu Fichier , sélectionnez Ouvrir.

  2. Dans la boîte de dialogue Ouvrir le fichier de requête , accédez au fichier de script InstallSqlState.sql , puis sélectionnez Ouvrir. Par défaut, InstallSqlState.sql se trouve dans l’un des dossiers suivants :

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. Une fois InstallSqlState.sql s’ouvre dans l’Analyseur de requêtes SQL, sélectionnez Exécuter dans le menu Requête pour exécuter le script.

  4. Avant d’exécuter le fichier de script UninstallSqlState.sql pour désinstaller SQL Server configuration de gestion de l’état de session en mode, vous devez arrêter le processus w3svc. Pour cela, procédez comme suit :

    1. Dans le menu Démarrer de Windows , sélectionnez Exécuter, tapez cmd, puis sélectionnez OK pour ouvrir une invite de commandes.
    2. À l’invite de commandes, tapez net stop w3svc. Vous recevez une confirmation que le processus w3svc est arrêté.
  5. Dans l’Analyseur de requêtes SQL, dans le menu Fichier , sélectionnez Ouvrir.

  6. Dans la boîte de dialogue Ouvrir le fichier de requête , accédez au fichier de script UninstallSqlState.sql , puis sélectionnez Ouvrir. Par défaut, UninstallSqlState.sql se trouve dans l’un des dossiers suivants :

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. Une fois UninstallSqlState.sql s’ouvre dans l’Analyseur de requêtes SQL, sélectionnez Exécuter dans le menu Requête pour exécuter le script.

  8. Après avoir désinstallé SQL Server configuration de gestion de l’état de session en mode, vous devez redémarrer le service w3svc. Pour redémarrer le processus w3svc, tapez net start w3svc à l’invite de commandes.

Modifier le fichier Web.config de votre application

Pour implémenter la gestion de l’état de session en mode ASP.NET SQL Server, vous devez modifier l’élément <sessionState> du fichier Web.config de votre application comme suit :

  1. Définissez l’attribut mode de l’élément sur <sessionState>SQLServer pour indiquer que l’état de session est stocké dans SQL Server.

  2. Définissez l’attribut sqlConnectionString pour spécifier le chaîne de connexion pour SQL Server. Par exemple :

    sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"
    

    Remarque

    L’utilisateur, <nom> d’utilisateur, doit disposer des autorisations nécessaires pour effectuer cette opération sur la base de données.

L’élément modifié <sessionState> doit apparaître comme suit :

<sessionState
    mode="SQLServer"
    sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
    cookieless="false"
    timeout="20"
/>

Remarque

Veillez à utiliser la casse correcte lorsque vous spécifiez l’élément <sessionState> et les valeurs d’attribut associées. Ce code respecte la casse.

Résolution des problèmes

  • Si vous n’arrêtez pas le processus w3svc avant d’exécuter le fichier de script UninstallSqlState.sql , le message d’erreur suivant s’affiche :

    Impossible de supprimer la base de données « ASPState », car elle est en cours d’utilisation

  • Si les entrées de la table ASPStateTempSessions ne sont pas supprimées après l’expiration des sessions associées, assurez-vous que l’agent SQL Server est en cours d’exécution. Vous pouvez implémenter cette fonctionnalité via des procédures stockées planifiées via des travaux dans SQL Server. L’agent SQL Server gère ces travaux.

  • Lorsque vous utilisez les fichiers de script InstallSqlState.sql et UninstallSqlState.sql par défaut pour configurer la gestion de l’état de session en mode ASP.NET SQL Server. Ces fichiers ajoutent les tables ASPStateTempSessions et ASPStateTempApplications à la base de données tempdb dans SQL Server par défaut. En outre, si vous redémarrez SQL Server, vous perdez les données d’état de session stockées dans les tables ASPStateTempSessions et ASPStateTempApplications. Pour plus d’informations sur l’exécution de scripts alternatifs pour configurer des SQL Server persistantes la gestion de l’état de session afin que les données de session ne soient pas perdues lorsque vous redémarrez le serveur.

References

État de la session