Timeout da sessão do IIS vs ASP.NET SESSION TIMEOUT
-
20-09-2019 - |
Pergunta
No IIS 6 (e outras versões também AFAIK), há uma configuração de tempo limite da sessão nas propriedades -> Guia do diretório inicial -> Botão de configuração -> Guia Opções. Se parece com isso:
E no asp.net web.config, há uma configuração de sessão, parece assim:
<system.web>
<sessionState timeout="120" />
<!-- etc .. -->
</system.web>
Eles estão, por acaso, relacionados? Eles definem a mesma coisa, ou coisas diferentes?
Solução
Eles não são os mesmos. O tempo limite da sessão do IIS é para páginas CLASIC ASP. O web.config One é para asp.net.
Outras dicas
A configuração do IIS não tem efeito nas sessões do ASP.NET, tanto quanto eu sei - elas devem ser definidas no web.config.
Você também deve considerar o tempo limite ocioso do pool de aplicativos. As configurações para o pool de aplicativos podem ser encontradas clicando em propriedades (IIS 6) ou configurações avançadas (IIS 7.5) no pool de aplicativos às quais o aplicativo está atribuído.
Verifique se esse valor está definido para o tempo limite da sua sessão, no mínimo, para garantir que todas as sessões persistam durante todo o período de tempo limite da sessão.
A razão pela qual esses dois valores dependem um do outro é porque as informações da sessão são realmente armazenadas no processo do trabalhador do pool de aplicativos. Ou seja, se o processo do trabalhador for desligado ou morto por qualquer motivo, as informações da sessão serão perdidas.