Como é a vida de uma classe estática afetados em uma aplicação asp.net apátrida?
Pergunta
Eu defini uma classe auxiliar para manter o controle de um pequeno dicionário de itens. ele armazena essas informações como uma propriedade estática, que é inicializado no construtor estático. a lista é muito pequena e nunca vai mudar assim que eu escolhi este método mais xml ou uma tabela de pesquisa db ...
No entanto o que eu gostaria de saber é: será que essa propriedade estática reter seus valores entre as páginas, ou mesmo dentro de páginas, se asp.net é suposto ser apátrida?
Por exemplo, eu estou de ligação esta lista a dois dropdownlists diferentes na minha página
DropDownList1.DataSource = Helper.MyList;
DropDownList2.DataSource = Helper.MyList;
Uma vez que a classe estática Helper é chamado duas vezes separadas, é seu construtor também chamado duas vezes, ou ele ficar em escopo ao longo do ciclo de vida de página inteira?
E se eu navegar para a próxima página e necessidade de ligar de novo, vai ainda ser inicializado ou vai começar tudo de novo?
Solução
Não, isso não vai inicializar o tipo duas vezes. A classe Helper
só precisará ser reinicializado na próxima vez que você começa um novo AppDomain
- seja porque o aplicativo é atualizado / reiniciado ou devido a AppDomain
reciclagem .