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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários