Stocker des valeurs dans web.config - appSettings ou configSection - qui est plus efficace?
Je suis en train d'écrire une page qui peut utiliser un couple de différents thèmes, et je vais stocker des informations sur chaque thème dans le site web.config.
Est-il plus efficace de créer une nouvelle sectionGroup et stocker le tout ensemble, ou juste mettre tout en appSettings?
configSection solution
<configSections>
<sectionGroup name="SchedulerPage">
<section name="Providers" type="System.Configuration.NameValueSectionHandler"/>
<section name="Themes" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<SchedulerPage>
<Themes>
<add key="PI" value="PISchedulerForm"/>
<add key="UB" value="UBSchedulerForm"/>
</Themes>
</SchedulerPage>
Pour les valeurs de l'accès à la configSection, je suis en utilisant ce code:
NameValueCollection themes = ConfigurationManager.GetSection("SchedulerPage/Themes") as NameValueCollection;
String SchedulerTheme = themes["UB"];
appSettings solution
<appSettings>
<add key="PITheme" value="PISchedulerForm"/>
<add key="UBTheme" value="UBSchedulerForm"/>
</appSettings>
Pour accéder à valeurs dans appSettings, je suis en utilisant ce code
String SchedulerTheme = ConfigurationManager.AppSettings["UBSchedulerForm"].ToString();
source d'informationauteur coder1
Vous devez vous connecter pour publier un commentaire.
Pour les plus complexes de la configuration de l'installation, je voudrais utiliser une configuration personnalisée de la section qui définit clairement les rôles de chaque section par exemple
Dans votre classe de configuration vous pouvez exposer vos propriétés avec quelque chose comme
Vous pouvez ensuite accéder aux propriétés de configuration de la manière suivante à partir de votre code
Il n'y aura pas de différence mesurable en termes d'efficacité.
AppSettings est l'endroit idéal si vous avez besoin sont des paires nom/valeur.
Pour quelque chose de plus complexe, il est intéressant de créer une section de configuration personnalisée.
Pour l'exemple que vous mentionnez, je ne l'utiliserais appSettings.
Il n'y aura pas de différence dans la performance, puisque ConfigurationManager.AppSettings appelle juste GetSection("appSettings"), de toute façon. Si vous avez besoin d'énumérer toutes les touches, puis une section personnalisée sera plus agréable que d'énumérer tous appSettings et à la recherche d'un certain préfixe sur les touches, mais sinon, il est plus facile de coller à appSettings sauf si vous avez besoin quelque chose de plus complexe qu'un NameValueCollection.