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


Vous avez noté 0 étoile(s)

Cet article vous a-t-il été utile ?

Merci !

N'hésitez pas à commenter nos pages afin de nous aider à les améliorer si besoin.

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 toutes questions non liées à cette documentation ou problèmes techniques sur l'un de vos services, cliquez ici si vous souhaitez contacter le support commercial ou le support technique