Session Timeout


Uma das grandes dúvidas que vemos por aí é a questão da expiração da Session antes de chegar ao valor de Timeout, definido no elemento sessionState do arquivo de configuração Web.Config.

A questão é que quando essa aplicação corre dentro do IIS 6.0, o Application Pool relacionado ao WebSite/Diretório Virtual pode estar reciclando o worker-process antes de exceder o timeout da Session. Como na maioria das aplicações Web, o conteúdo é sempre armazenado InProc (na memória do servidor onde a aplicação corre), ao reciclar o processo, todas as variáveis de sessão e também o Cache são perdidos.

Caso voce precise manter esse conteúdo em memória por mais tempo (independente da reciclagem), é necessário que voce configure a reciclagem do worker-process diretamente no IIS para um valor mais adequado. Quando a reciclagem é algo inevitável, é necessário recorrer ao armezenamento das variáveis de sessão fora do servidor onde a aplicação está sendo executada, para que ela possa “viver”. Pode, por exemplo, utilizar o SQL Server como um servidor de estado.

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s