Bien qu'au nom de cette question est similaire à this et this, ce n'est pas le cas.Comment accéder à app.config/web.config pour l'application en cours?
Je développe actuellement une bibliothèque qui peut nécessiter une configuration personnalisée en fonction du souhait de l'utilisateur.
J'ai créé une section de configuration personnalisée, et tout fonctionne très bien.
Cependant, lorsque j'étais en train de déboguer, j'ai remarqué que le constructeur de la section de configuration était appelé deux fois. Et ce n'est pas ce que j'avais prévu.
Creuser plus profond, j'ai découvert qu'il a eu lieu parce que, afin d'accéder aux informations de configuration de la bibliothèque, j'utilise la méthode suivante:
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var section = config.GetSection("myConfigSection");
Avant cela, le .NET Framework a initialisé l'environnement de configuration pour l'application qui exécute la bibliothèque et appelant ainsi le constructeur de la classe MyConfigSection
.
Ma question est, comment accéder aux informations déjà chargées?
Pourquoi le constructeur de la classe est appelée deux fois
Parce que je ne veux pas recharger à nouveau tout, comme le code ci-dessus fait.
Edité ajouter
Le constructeur est appelé deux fois même changer le code ci-dessus:
var section = ConfigurationManager.GetSection("myConfigSection");
Modifié pour clarifier
Cette question est pas un En accédant à MyConfigSection
, j'y accède très bien.
La question concerne le pourquoi le constructeur de classe est appelé deux fois.
Un peu plus de précisions
Si le constructeur de la classe est appelée deux fois, le processus de chargement se produit deux fois.
Et je ne veux tout simplement pas que cela se produise. C'est ridicule.
Et oui, j'appelle les méthodes statiques du Configurationmanager
selon ma première édition dans cette question.
Veuillez ajouter .net à vos tags – z3cko
@ z3cko vient de le faire. –