L'application stocke les données de configuration dans la section personnalisée du fichier de configuration. Cette information est utilisée partout dans l'application.Lecture du fichier de configuration. Meilleure pratique
De nos jours, j'utilise la classe aide statique pour fournir un accès comme celui-ci (un code omis ou simplifié):
[XmlRoot("webSiteSection")]
public class WebSiteConfig : IConfigurationSectionHandler
{
public static WebSiteConfig Current
{
get
{
if (_current == null)
_current = (WebSiteConfig) ConfigurationManager.GetSection("webSiteSection");
return _current;
}
}
[XmlElement("section1")]
public Section1 Section1 { get; set; }
[XmlElement("section2")]
public Section2 Section2 { get; set; }
...
public object Create(object parent, object configContext, XmlNode section)
{
var serializer = new XmlSerializer(typeof(WebSiteConfig));
return serializer.Deserialize(new XmlNodeReader(section));
}
}
Puis-je utiliser comme ça
<%: WebSiteConfig.Current.Section1.Value1 %>
<%: WebSiteConfig.Current.Section1.Value2 %>
Que pensez-vous de celui-ci ? Je le trouve utilisable car il garde le code simple, mais aussi confus car IConfigurationSectionHandler est obsolète depuis .NET Framework 2.0
Désolé, j'ai déjà un accesseur d'instance statique (Current). Est-ce ce que vous avez mentionné? –
@Andrew - alors faites-le. Je suis hors de mon jeu ce soir manquant l'évidence. Ok, alors oui, je ne vois rien de mal dans la façon dont vous le faites, je fais la même chose avec mes ConfigurationSections. –
Ok. Que pensez-vous des classes de sections de configuration personnalisées proposées par Franci Penov? –