PROBLEMA: Os dados de sessão for perdidos quando utiliza o modo de estado de sessão ASP.NET InProc

Artigo: 324772 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Dados de sessão para aplicações Web ASP.NET parecem perder aleatoriamente intervalos para o modo de estado de sessão InProc.

Causa

Dados de estado de sessão serão perdidos se o domínio de aplicação ou processo Aspnet_wp.exe (ou processo W3wp.exe para aplicações que são executados no Microsoft Internet Information Services IIS 6.0) for reciclado. Geralmente, o AppDomain é reiniciado com base em vários factores:
  • Vários atributos (por exemplo, o atributo memoryLimit ) têm definições específicos na secção <processmodel> do ficheiro de configuração.
  • O global.asax ou o ficheiro Web.config foi modificado.
  • Directório de aplicação Web posição foi modificado.
  • Detector de vírus processadas alguns ficheiros .config.Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
    316148PROBLEMA: Variáveis de sessão são perdidas intermitentemente em aplicações do ASP.NET
Modo de sessão InProc indica que o estado da sessão está armazenado localmente. Isto significa que com sessão InProc modo de estado é armazenado como objectos de vida no domínio de aplicação da aplicação Web. É por isso o estado da sessão é perdido quando aspnet_wp.exe (ou W3wp.exe para aplicações que são executados no Microsoft Internet Information Services IIS 6.0) ou o AppDomain é reiniciado.

Resolução

Para contornar este problema, pode utilizar o modo de estado de sessão StateServer ou SqlServer. O ASP.NET fornece destas abordagens para armazenar dados de estado da sessão. Nos modos StateServer e SqlServer, o estado da sessão não está armazenado no domínio de aplicação da aplicação Web.

Nota É importante compreender o comportamento e os problemas que estão associados a cada modo de estado de sessão quando decidir qual o modo é adequado para os requisitos. Para mais informações, consulte a secção "Referências" deste artigo.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Referências

Para mais informações sobre gestão de estado de sessão ASP.NET e outros tópicos relacionados, visite o seguinte Web site da Microsoft:
Estado de sessão
http://msdn2.microsoft.com/en-us/library/87069683(vs.71).aspx?frame=true
Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
307598INFO: Descrição geral de gestão do estado do ASP.NET
Para obter informações mais gerais sobre ASP.NET, consulte o seguinte newsgroups da MSDN (Microsoft Developer Network):
microsoft.public.dotnet.framework.aspnet

Propriedades

Artigo: 324772 - Última revisão: quarta-feira, 18 de Abril de 2007 - Revisão: 2.7
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbprb kbstate KB324772 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 324772

Submeter comentários