Os dados da sessão são perdidos quando você usa ASP.NET modo de estado da sessão InProc

Este artigo ajuda você a resolve o problema de que os dados da sessão são perdidos quando você usa ASP.NET modo de estado da sessão InProc.

Versão original do produto: ASP.NET
Número de KB original: 324772

Sintomas

Os dados de sessão para ASP.NET aplicativos Web parecem ter sido perdidos em intervalos aleatórios para o modo de estado da sessão InProc.

Motivo

Os dados de estado da sessão serão perdidos se a AppDomain classe ou o processo Aspnet_wp.exe (ou o processo W3wp.exe, para aplicativos executados no IIS 7.0 ou em uma versão posterior) forem reciclados. Geralmente, o AppDomain é reiniciado com base em vários fatores:

  • Vários atributos (por exemplo, o memoryLimit atributo) têm configurações específicas na <processModel> seção do arquivo de configuração.
  • O arquivo Global.asax ou Web.config foi modificado.
  • O Bin diretório do aplicativo Web foi modificado.
  • O software de verificação de vírus tocou alguns arquivos .config .

O modo de sessão InProc indica que o estado da sessão é armazenado localmente. Isso significa que, com o modo de estado da sessão InProc, é armazenado como objetos de vida no AppDomain aplicativo Web. É por isso que o estado da sessão é perdido quando Aspnet_wp.exe (ou W3wp.exe, para aplicativos executados no IIS) ou as AppDomain reinicializações.

Resolução

Para resolver esse problema, você pode usar o modo de estado da sessão StateServer ou SqlServer. ASP.NET fornece essas outras abordagens para armazenar dados de estado da sessão. Nos modos StateServer e SqlServer, o estado da sessão não é armazenado no AppDomain aplicativo Web.

Observação

É importante entender o comportamento e os problemas associados a cada modo de estado de sessão quando você decide qual modo é apropriado para seus requisitos.

Status

Este é o comportamento padrão.

Referências

Para obter mais informações sobre ASP.NET gerenciamento de estado da sessão e outras informações relacionadas, consulte Estado da Sessão.