Pergunta

Eu gosto de aplicativo web asp.net host no IIS 7.0 (Windows Server 2008).

Eu configurei o estado da sessão como o modo sessionstate = "InProc" timeout = 120. Mesmo a sessão expira dentro de 15 segundos. O que poderia ser o problema ?.

Graças

Foi útil?

Solução

Verifique o registo de eventos do Windows para assegurar que o processo de trabalho não está sendo forçado a recyle.

Pode haver algo em seu código que faz com que o processo de trabalho para forçar-se a recyle caso em que quando a sessão é armazenado INPROC ele vai perder todos os valores de sessão ele está segurando.

Outras dicas

Você pode verificar o tempo limite de conexão nestas 2 áreas. enter descrição da imagem aqui

enter descrição da imagem aqui

ou

Configurações avançadas

sons como o tempo limite da sessão é definido incorretamente no web.config você poderia tentar algo como:

<system.web>
    <sessionState timeout="2" />

para definir o tempo limite de 2 minutos

http://msdn.microsoft.com/en -us / library / h6bb9cz9 (vs.71) .aspx

Mmerrell escreveu isso e é a chave para encontrar a origem do problema:

Verifique o registo de eventos do Windows para assegurar que o processo de trabalho não é sendo forçado a recyle.

Pode haver algo em seu código que faz com que o processo de trabalho para forçar-se a recyle caso em que quando a sessão é armazenado INPROC ele vai perder todos os valores de sessão ele está segurando.

Olhe para o Visualizador de eventos no "Windows logs / sistema", você está procurando uma "era" evento de origem que contém uma descrição como: "Um processo de trabalho com ID de processo de '2980' atende pool de aplicativos 'SIAC' foi encerrado devido à inatividade. Configuração tempo limite pool de aplicativos foi definido para 20 minutos. Um novo processo de trabalho será iniciado quando necessário." este é o sintoma que você está procurando.

visualizador de eventos com o evento foi

Espero que isso ajude.

quase tinha mesmo problema com HTTP handler escrito em C # usando SessionState. Parece que a propriedade IsReusable deve ser falso caso contrário eu estava correndo no problema da sessão solto.

Mmerrell pela sua resposta, que me trouxe no caminho certo.

Há também outra coisa a verificar - configurações App Piscina avançadas - limite de memória virtual. Veja se ele for definido explicitamente - como pode reciclar automaticamente uma vez que excede o limite definido. Especialmente se você está vendo o erro em seu log de eventos como:

Um processo de trabalho com ID de processo de '****' atende pool de aplicativos 'sua-app-pool-name' solicitou uma reciclagem porque atingiu seu limite de memória virtual.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top