ASP.Net Session Timing Out Rapidly

1

Temos um site ASP.Net 3.5 em execução no Windows Server 2008 com o IIS7. O período de tempo limite da sessão para este site está configurado para 20 minutos - no entanto, ele está atualmente com duração entre 40 e 50 segundos. Depois de pesquisar o problema, investigamos vários valores de configuração que poderiam estar envolvidos no período de tempo limite, mas nenhum deles foi configurado para menos de 20 minutos. As áreas que olhamos são as seguintes:

  • elemento web.config system.web / sessionState (20 minutos).
  • elemento web.config system.web / authentication / forms (não presente, o padrão é 30 minutos).
  • Sites / {website} / ASP / Propriedades da sessão / Tempo limite (20 minutos).
  • Pools de aplicativos / {appPool} / Configurações avançadas / Modelo de processo / Tempo limite de inatividade (20 minutos).

Também notamos que a CPU está ficando em torno de 0% e que o uso de RAM é de cerca de 1,07 GB (de 8 GB disponíveis) - portanto, não há motivo de desempenho para o IIS estar reciclando o pool de aplicativos até onde podemos dizer.

Há alguma configuração que tenhamos ignorado e que poderia causar o tempo limite de expiração da sessão tão rapidamente?

EDITAR

Alguns pontos adicionais:

  • Isso não está ocorrendo no desenvolvimento, apenas no servidor.
  • A sessão não está sendo exibida (ou seja, se atualizarmos a página algumas vezes, ela ainda expira aproximadamente 40 a 50 segundos após a criação da sessão.
por Zac 21.03.2012 / 16:36

2 respostas

1

Quando o processo de trabalho falha e é reciclado, todas as sessões também se perdem. Você checou seu eventlog por algo estranho?

    
por 21.03.2012 / 18:35
0

Pode ser substituído no código. Session.Timeout = nn minutos.

O aplicativo ASP.NET também pode ter algum código para fins de segurança para expirar e abandonar as sessões. Isso é feito com Session.Abandon (). Você pode querer validar que a sessão não está sendo removida no aplicativo. Espero que o aplicativo tenha algum tipo de registro no código de autenticação que ajudaria a revelar a atividade da sessão.

A expiração da sessão também está sendo exibida. Então, se você se conecta frequentemente ao site a cada poucos segundos, ele realmente não deve expirar. Se assim for, algo é definitivamente levantado.

    
por 21.03.2012 / 17:00