Comment résoudre les pertes de sessions sur un hébergement ASP ?

Procédure

Qu'est ce qu'une session ?

Une session en programmation est un groupe de données qui sont stockées temporairement côté serveur pour une utilisation spécifique par un utilisateur connecté.

Les sessions sont généralement utilisées pour stocker des informations d'identification de l'utilisateur, comme un nom d'utilisateur ou un ID d'utilisateur, ainsi que des informations de l'état de l'application, comme les éléments d'un panier d'achat en ligne.

Les sessions sont généralement associées à un identifiant de session unique qui est stocké côté client, généralement sous la forme d'un cookie, pour permettre au serveur de récupérer les données de session appropriées pour chaque demande de l'utilisateur.

Comment régler mon problème de sessions sur mon site ?

Le problème réside essentiellement sur les éléments stockés en RAM sur la durée. Une fois la RAM saturée, le système lance un reboot qui va supprimer les éléments stockés et donc potentiellement les sessions sur votre site. Cela peut donc expliquer pourquoi un visiteur peut se retrouver déconnecté pendant qu'il visite votre site.

Pour éviter cela, voici la procédure à suivre :

1. Générer une clé sur Machine Key

Pour cela, rendez vous sur le site machineKey et cliquez sur le bouton "GENERATE"

Comment résoudre les pertes de sessions sur un hébergement ASP ?

Copiez ensuite le code généré dans un coin

Comment résoudre les pertes de sessions sur un hébergement ASP ?

2. Configuration du fichier web.config

Rendez-vous dans l'administration de votre Plesk depuis la gestion de votre service sur le Panel LWS.

Comment résoudre les pertes de sessions sur un hébergement ASP ?

Une fois sur Plesk, sélectionnez dans le menu de gauche "Sites web et domaines"

Dans la page qui s'affiche, ouvrez le menu déroulant lié à votre domaine.

Cliquez sur "Gestionnaire de fichiers"

Comment résoudre les pertes de sessions sur un hébergement ASP ?

Dans le gestionnaire, vous arriverez à la racine de votre service où se trouvent les fichiers de votre site. Regardez si vous avez un fichier nommé web.config.

Comment résoudre les pertes de sessions sur un hébergement ASP ?

Si c'est le cas, on éditera celui-ci, sinon on le créera en copiant tout le code que je donnerai plus bas.

Comment résoudre les pertes de sessions sur un hébergement ASP ?

Dans ce fichier, dont le contenu est un XML, nous allons ajouter ceci dans la partie <system.web> :

<system.web>
    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20" />
    <machineKey decryption="AES" validation="SHA1" decryptionKey="7ucKOvWBqXrsVMBl" validationKey="ZT6ikp0oQdfQT59F" />
</system.web>

Au niveau de la troisième ligne commençant par "<machineKey", remplacez l'ensemble de cette ligne par celle que vous avez récupérée sur Machine Key lors de l'étape 1.

En partant du fichier de base, qui se trouve à la racine de votre service lors de la livraison, voici le code que cela donnerait en ajoutant ces quelques lignes en plus.

Si vous n'aviez pas le fichier web.config, créez-le en recopiant l'ensemble du code sans oublier de modifier la partie indiquée plus haut concernant le code généré par Machine Key

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <httpErrors>
      <remove statusCode="400" />
      <error statusCode="400" path="D:\www\jetestuneformuleasp.site\error_docs\bad_request.html" />
      <remove statusCode="401" />
      <error statusCode="401" path="D:\www\jetestuneformuleasp.site\error_docs\unauthorized.html" />
      <remove statusCode="403" />
      <error statusCode="403" path="D:\www\jetestuneformuleasp.site\error_docs\forbidden.html" />
      <remove statusCode="404" />
      <error statusCode="404" path="D:\www\jetestuneformuleasp.site\error_docs\not_found.html" />
      <remove statusCode="405" />
      <error statusCode="405" path="D:\www\jetestuneformuleasp.site\error_docs\method_not_allowed.html" />
      <remove statusCode="406" />
      <error statusCode="406" path="D:\www\jetestuneformuleasp.site\error_docs\not_acceptable.html" />
      <remove statusCode="407" />
      <error statusCode="407" path="D:\www\jetestuneformuleasp.site\error_docs\proxy_authentication_required.html" />
      <remove statusCode="412" />
      <error statusCode="412" path="D:\www\jetestuneformuleasp.site\error_docs\precondition_failed.html" />
      <remove statusCode="414" />
      <error statusCode="414" path="D:\www\jetestuneformuleasp.site\error_docs\request-uri_too_long.html" />
      <remove statusCode="415" />
      <error statusCode="415" path="D:\www\jetestuneformuleasp.site\error_docs\unsupported_media_type.html" />
      <remove statusCode="500" />
      <error statusCode="500" path="D:\www\jetestuneformuleasp.site\error_docs\internal_server_error.html" />
      <remove statusCode="501" />
      <error statusCode="501" path="D:\www\jetestuneformuleasp.site\error_docs\not_implemented.html" />
      <remove statusCode="502" />
      <error statusCode="502" path="D:\www\jetestuneformuleasp.site\error_docs\bad_gateway.html" />
      <remove statusCode="503" />
      <error statusCode="503" path="D:\www\jetestuneformuleasp.site\error_docs\maintenance.html" />
    </httpErrors>
    <tracing>
      <traceFailedRequests>
        <clear />
      </traceFailedRequests>
    </tracing>
  </system.webServer>
  <system.web>
    <compilation tempDirectory="D:\www\jetestuneformuleasp.site\tmp" />
    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20" />
    <machineKey decryption="AES" validation="SHA1" decryptionKey="7ucKOvWBqXrsVMBl" validationKey="ZT6ikp0oQdfQT59F" />
  </system.web>
</configuration>

Enregistrez votre fichier et vous voilà protégé du problème de sessions.

Notez cet article :

Cet article vous a été utile ?

Article utileOui

Article non utileNon

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articles similaires

1mn de lecture

Comment accéder au panel Plesk avec un hébergement LWS ?

0mn de lecture

Comment créer un sous domaine dans Plesk ?

0mn de lecture

Comment accéder aux statistiques d'un site dans Plesk ?

3mn de lecture

Gestion des droits CHMOD


Questions sur l'article
jb-info Il y a 480 jours
Bonjour, j'ai effectivement un problème avec mes sessions sur mon hébergement pour un site asp.net , j'ai suivis votre article à la lettre cependant lorsque j'y ajoute la balise 'machineKey' j'obtient une erreur 500. Auriez-vous une solution ?
Voir les
1 réponses
Aurelien-LWS - Il y a 479 jours

Bonjour, 

Je vous remercie pour votre message. 

Je me suis permis de me connecter à votre formule d'hébergement pour voir la présence de la balise machinekey.

Ne constatant pas la présence de cette balise, j'ai effectué son ajout comme indiqué dans cette documentation sur votre fichier web.config.

Je n'ai pas constaté d'erreur 500 après avoir effectué cet ajout. Aussi, je vous invite à vérifier le bon fonctionnement de votre site et la résolution de votre problème de session.

Il est important lors de l'ajout de cette balise de bien la mettre entre les balises <system.web> et </system.web>

Vous ne devez pas dupliquer ces balises si elles existent déjà dans votre fichier web.config, mais simplement ajouter la balise machinkey entre ces deux balises déjà existante.

La duplication des balises <system.web> peut être la cause de l'erreur 500 que vous avez obtenu en effectuant l'opération.

Cordialement, L'équipe LWS 

Utile ?

Poser une question à l'équipe LWS et à sa communauté