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

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

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

Spécifications

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’état de session SQL Server

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

  1. Dans SQL Query Analyzer, dans le menu Fichier , sélectionnez Ouvrir.

  2. Dans la boîte de dialogue Ouvrir un 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 que InstallSqlState.sql s’ouvre dans SQL Query Analyzer, 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 la configuration de gestion de l’état de session en mode SQL Server, vous devez arrêter le processus w3svc. Pour ce faire, 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 la confirmation que le processus w3svc est arrêté.
  5. Dans SQL Query Analyzer, dans le menu Fichier , sélectionnez Ouvrir.

  6. Dans la boîte de dialogue Ouvrir un 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 que UninstallSqlState.sql s’ouvre dans SQL Query Analyzer, sélectionnez Exécuter dans le menu Requête pour exécuter le script.

  8. Après avoir désinstallé la configuration de gestion de l’état de session en mode SQL Server, 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 ASP.NET gestion de l’état de session en mode SQL Server, vous devez modifier l’élément <sessionState> du fichier Web.config de votre application comme suit :

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

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

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

    Note

    L’utilisateur, <le 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"
/>

Note

Vérifiez que vous utilisez le cas correct lorsque vous spécifiez l’élément <sessionState> et les valeurs d’attribut associées. Ce code respecte la casse.

Dépannage

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

    Impossible de supprimer la base de données « ASPState », car elle est actuellement 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 , vérifiez 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 de InstallSqlState.sql et de UninstallSqlState.sql par défaut pour configurer ASP.NET gestion de l’état de session en mode 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 la gestion persistante de l’état de session SQL Server afin que les données de session ne soient pas perdues lorsque vous redémarrez le serveur.

References

État de session