Come è la vita di una classe statica colpito in un'applicazione asp.net senza stato?
Domanda
Ho definito una classe di supporto per tenere traccia di un piccolo dizionario di elementi. memorizza queste informazioni come una proprietà statica, che viene inizializzato nel costruttore statico. la lista è molto piccolo e non cambierà mai così ho scelto questo metodo rispetto XML o una tabella di db di ricerca ...
però quello che vorrei sapere è, sarà questa proprietà statica mantenere i suoi valori tra le pagine, o anche all'interno di pagine se asp.net si suppone che sia apolide?
per esempio, sto vincolante questa lista per due DropDownList diversi sulla mia pagina
DropDownList1.DataSource = Helper.MyList;
DropDownList2.DataSource = Helper.MyList;
Dal momento che la classe di supporto statico viene chiamato due volte separati, è il suo costruttore anche chiamato due volte, o lo fa rimanere in ambito in tutto il ciclo di vita pagina intera?
Che dire se passare alla pagina successiva e hanno bisogno di impegnare di nuovo, sarà ancora essere inizializzato o intende ricominciare tutto da capo?
Soluzione
No, che non verrà inizializzato il tipo due volte. La classe Helper
avrà solo bisogno di essere reinizializzata la prossima volta che si ottiene un nuovo AppDomain
- sia perché l'applicazione viene aggiornata / riavviato o a causa di riciclaggio AppDomain
.