Comment est la durée de vie d'une classe statique affectée dans une application asp.net sans état?
Question
J'ai défini une classe d'aide pour garder la trace d'un petit dictionnaire des articles. il stocke ces informations comme une propriété statique, qui est initialisé dans le constructeur statique. la liste est très petit et ne changera jamais j'ai donc choisi cette méthode sur xml ou une table de recherche db ...
mais ce que je voudrais savoir est, sera cette propriété statique conserve ses valeurs entre les pages, ou même dans les pages si asp.net est censé être apatride?
par exemple, je suis lier cette liste à deux DropDownLists différentes sur ma page
DropDownList1.DataSource = Helper.MyList;
DropDownList2.DataSource = Helper.MyList;
Depuis l'assistance de classe statique est appelée deux fois séparés, est son constructeur aussi appelé deux fois, ou faut-il rester dans le champ d'application tout au long du cycle de vie de pleine page?
Qu'en est-il si je navigue à la page suivante et la nécessité de lier à nouveau, ce que ce sera encore initialisés ou il sera tout recommencer?
La solution
Non, ce ne sera pas initialiser le type deux fois. La classe Helper
ne devez être réinitialisée prochaine fois que vous obtenez une nouvelle AppDomain
- soit parce que l'application est actualisée / ou redémarré en raison de recyclage des AppDomain
.