COMMENT FAIRE : Configurer SQL Server pour stocker un état de session ASP.NET

Traductions disponibles Traductions disponibles
Numéro d'article: 317604 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F317604
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article décrit étape par étape comment configurer Microsoft SQL Server pour gérer l'état de session SQL Server ASP.NET.

Conditions requises

La liste suivante indique le matériel, les logiciels et l'infrastructure réseau recommandés ainsi que les Service Packs dont vous avez besoin :
  • Microsoft Windows 2000 Professionnel, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server ou Microsoft Windows XP
  • Microsoft .NET Framework
  • Microsoft Internet Information Services (IIS)
  • Microsoft SQL Server

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

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 Mode SQL Server.
  1. Dans le menu Fichier de l'Analyseur de requêtes SQL, cliquez sur Ouvrir.
  2. Dans la boîte de dialogue Ouvrir le fichier requête, parcourez le fichier de script InstallSqlState.sql, puis cliquez sur Ouvrir. Par défaut, InstallSqlState.sql se trouve dans l'un des dossiers suivants :
    lecteur système\WINNT\Microsoft.NET\Framework\version\

    lecteur système\Windows\Microsoft.NET\Framework\version\
  3. Une fois InstallSqlState.sql ouvert dans l'Analyseur de requêtes SQL, cliquez sur 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 la gestion d'état de session Mode SQL Server, vous devez arrêter le processus w3svc. Pour cela, procédez comme suit :
    1. Dans le menu Démarrer de Windows, cliquez sur Exécuter, tapez cmd, puis cliquez sur OK pour ouvrir une invite de commandes.
    2. À l'invite de commandes, tapez net stop w3svc. Vous recevez la confirmation de l'arrêt du processus w3svc.
  5. Dans le menu Fichier de l'Analyseur de requêtes SQL, cliquez sur Ouvrir.
  6. Dans la boîte de dialogue Ouvrir le fichier requête, parcourez le fichier de script UninstallSqlState.sql, puis cliquez sur Ouvrir. Par défaut, UninstallSqlState.sql se trouve dans l'un des dossiers suivants :
    lecteur système\WINNT\Microsoft.NET\Framework\version\

    lecteur système\Windows\Microsoft.NET\Framework\version\
  7. Une fois UninstallSqlState.sql ouvert dans l'Analyseur de requêtes SQL, cliquez sur Exécuter dans le menu Requête pour exécuter le script.
  8. Après avoir désinstallé la configuration de la gestion d'état de session Mode SQL Server, vous devez redémarrer le service w3svc. Pour redémarrer le processus w3svc, tapez net start w3svc à l'invite de commandes.

Modification du fichier Web.config de votre application

Pour implémenter la gestion d'état de session Mode SQL Server ASP.NET, vous devez modifier comme suit l'élément <sessionState> du fichier Web.config de votre application :
  1. Définissez l'attribut mode de l'élément <sessionState> sur SQLServer pour indiquer que l'état de session est stocké dans SQL Server.
  2. Définissez l'attribut sqlConnectionString pour spécifier la chaîne de connexion de SQL Server. Par exemple :
    sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"
    

    Remarque L'utilisateur, <nom_utilisateur>, doit disposer des autorisations appropriées pour exécuter cette opération sur la base de données.

    L'élément <sessionState> modifié doit ressembler à ceci :
    <sessionState 
                mode="SQLServer"
                sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
                cookieless="false" 
                timeout="20" 
        />
    						
    Remarque Assurez-vous d'avoir utilisé la casse appropriée lors de la spécification de l'élément <sessionState> et de la valeur des attributs associés. 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, le message d'erreur suivant s'affiche :
    Impossible de supprimer la base de données 'ASPState' parce qu'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 liées, assurez-vous que l'agent SQL Server fonctionne. Vous pouvez implémenter cette fonctionnalité par l'intermédiaire des procédures stockées qui sont planifiées par des tâches dans SQL Server. L'agent SQL Server gère ces tâches.
  • Lors de l'utilisation des fichiers de script InstallSqlState.sql et UninstallSqlState.sql par défaut pour configurer la gestion d'état de session Mode SQL Server ASP.NET, notez que ces fichiers ajoutent par défaut les tables ASPStateTempSessions et ASPStateTempApplications à la base de données tempdb dans SQL Server. De plus, si vous redémarrez SQL Server, vous perdez les données relatives à l'état de session stockées dans les tables ASPStateTempSessions et ASPStateTempApplications.Pour plus d'informations sur l'exécution de scripts de remplacement pour configurer une gestion d'état de session SQL Server permanente de sorte que les données de session ne soient pas perdues lors du redémarrage du serveur, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    311209 COMMENT FAIRE : Configurer ASP.NET pour une gestion d'état de session SQL Server permanente

Références

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
305140 INFO : Guide ASP.NET
307598 INFO : Vue d'ensemble de la gestion d'état ASP.NET
236166 Utilisation des commandes NET STOP et NET START pour forcer les services IIS à relire le Registre
Pour plus d'informations sur la gestion d'état de session ASP.NET, reportez-vous aux sites Web de Microsoft aux adresses suivantes :
État de session (en anglais)
http://msdn2.microsoft.com/en-us/library/87069683(vs.71).aspx

Article de fond : Utilisation d'objets Session et Application dans ASP.NET (article MSDN Magazine)
http://msdn.microsoft.com/msdnmag/issues/01/11/cutting/default.aspx

Propriétés

Numéro d'article: 317604 - Dernière mise à jour: mercredi 16 mai 2007 - Version: 6.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 7.0 Standard
  • Microsoft SQL Server 2000 Édition 64 bits
Mots-clés : 
kbconfig kbhowtomaster kbstate kbwebforms KB317604
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com