Como posso resolver a perda de sessão no alojamento ASP?

Procédure

O que é uma sessão?

Em programação, uma sessão é um grupo de dados armazenados temporariamente no lado do servidor para uma utilização específica por um utilizador ligado.

As sessões são geralmente utilizadas para armazenar informações de identificação do utilizador, tais como um nome de utilizador ou ID de utilizador, bem como informações de estado da aplicação, tais como itens num cesto de compras online.

As sessões estão normalmente associadas a um identificador de sessão único que é armazenado no lado do cliente, normalmente sob a forma de um cookie, para permitir que o servidor recupere os dados de sessão adequados para cada pedido do utilizador.

Como posso resolver o problema das sessões no meu sítio?

O problema reside essencialmente nos elementos armazenados na RAM ao longo do tempo. Quando a RAM está saturada, o sistema inicia uma reinicialização que elimina os elementos armazenados e, por conseguinte, potencialmente as sessões no seu sítio. Isto pode explicar a razão pela qual um visitante pode encontrar-se desconectado enquanto visita o seu sítio.

Para o evitar, eis o procedimento a seguir:

1. Gerar uma chave em Machine Key

Para o fazer, aceda ao sítio MachineKey e clique no botão "GERAR".

Como posso resolver a perda de sessão no alojamento ASP?

Em seguida, copie o código gerado para um canto

Como posso resolver a perda de sessão no alojamento ASP?

2. Configurar o ficheiro web.config

Aceda à administração do seu Plesk a partir da gestão do seu serviço no painel LWS.

Como posso resolver a perda de sessão no alojamento ASP?

Uma vez no Plesk, seleccione "Websites e domínios" no menu da esquerda.

Na página que aparece, abra o menu pendente do seu domínio.

Clique em "Gestor de ficheiros".

Como posso resolver a perda de sessão no alojamento ASP?

No gestor de ficheiros, chegará à raiz do seu serviço, onde estão localizados os ficheiros do seu site. Veja se tem um ficheiro chamado web.config.

Como posso resolver a perda de sessão no alojamento ASP?

Se sim, vamos editá-lo, caso contrário, vamos criá-lo copiando todo o código que darei a seguir.

Como posso resolver a perda de sessão no alojamento ASP?

Neste ficheiro, cujo conteúdo é XML, vamos acrescentar o seguinte à secção:

Código

    
    

Ao nível da terceira linha que começa por "<machineKey", substitua toda esta linha por aquela que recuperou da Machine Key no passo 1.</p> <p> </p> <p>A partir do ficheiro base, que se encontra na raiz do seu serviço durante a entrega, eis o código que daria ao adicionar estas poucas linhas extra.</p> <p>Se não tinha o ficheiro web.config, crie-o copiando todo o código sem se esquecer de modificar a parte indicada acima referente ao código gerado pela Machine Key</p> <pre> <code class="language-xml"><?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></code></pre> <p> </p> <p>Salve seu arquivo e você estará protegido contra o problema da sessão.</p>

help.lws.net/a/1676
Este artigo foi útil?

Sim

Não

Lido 10 043 vezes

Obrigado! Não hesite em colocar questões sobre a nossa documentação se pretender mais informações e ajudar-nos a melhorá-la.

Artigos semelhantes

Perguntas sobre o artigo 1

Fazer uma pergunta
jb-info
30/07/2023
Bonjour, j'ai effectivement un problème avec mes sessions sur mon hébergement pour un site [domaine masqué] , j'ai suivis votre article à la lettre cependant lorsque j'y ajoute la balise 'machineKey' j'obtient une erreur 500. Auriez-vous une solution ?
Aurelien-LWS Resposta oficial
31/07/2023

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 

Esta resposta foi útil?

Uma pergunta sobre este artigo?

Coloque-a à equipa LWS e à comunidade. A resposta é publicada após moderação.

Fazer uma pergunta à equipa do LWS e à sua comunidade

RGPD: Responsável: LWS-Ligne Web Services. Finalidade: moderação e publicação pública da sua pergunta, eventual notificação de uma resposta. Base legal: consentimento (art. 6.º, n.º 1, al. a) RGPD). Conservação dos e-mails: 90 dias após a notificação, 12 meses no máximo sem resposta. Para exercer os seus direitos, consulte a secção RGPD das nossas condições gerais.