Pergunta

Quais são as opções para a reciclagem do objeto estado do aplicativo ASP.Net? Eu estou usando esse objeto para armazenar filas de conexões de banco de dados para a web atendido base da camada de acesso de dados. Eu estou preocupado que mais dias / semanas / meses eu vou acabar alocar somas crescentes de memória em conexões para db que não estão mais em uso. As conexões são gerados automaticamente conforme necessário para preservá-los não é um extremamente importante.

Seria legal para analisar seletivamente através do estado do aplicativo e soltar apenas o que eu não preciso. Mas em uma base prática simplesmente deixar cair o objeto inteiro e começando do zero iria funcionar tão bem. No entanto, eu preciso ter cuidado para que o processo de purga não vai matar conexões atualmente em uso.

Foi útil?

Solução

O que aconteceu antes de começar a cache as conexões? Será que cache-los causa qualquer melhoria mensurável no desempenho ou utilização de recursos? Eu seria um pouco surpreso se isso acontecesse, considerando que ADO.NET faz pool de conexão para você.

Não há opções de reciclagem para o estado de aplicação. É por servidor, por AppDomain.

Para uma outra opção de armazenamento em cache, considere o uso do objeto de cache. É também por aplicativo, mas você pode definir as entradas de cache para expirar após um período de tempo.

Outras dicas

Eu fiz alguns testes e parece que o objeto de aplicação não reside na piscina aplicativo. (Reciclagem do pool de aplicativos limpou os dados no objeto do aplicativo.)

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