开发者

Configuration file reading. Best practice

Application stores configuration data in custom section of configuration file. This information is used all over the application.

Nowadays I use helper static class to to provide access like this (some code omitted or simplified):

[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));
    }
}

Then I use it like this

<%: WebSiteConfig.Current.Section1.Value1  %>
<%: WebSiteConfig.Current.Section1.Value2  %>

What do you think of it? I find it usabl开发者_如何学Pythone because it keeps code simple, but also confused as IConfigurationSectionHandler is deprecated since .NET Framework 2.0


Create your own configuration section class.


Well, in principal, i see nothing wrong with the concept.

A more manageable implementation may be to implement a default static instance accessor in your configuration section and use that.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜