Чтение файла конфигурации. Лучшая практика - PullRequest
1 голос
/ 19 мая 2010

Приложение сохраняет данные конфигурации в пользовательском разделе файла конфигурации. Эта информация используется во всем приложении.

В настоящее время я использую статический класс-помощник, чтобы обеспечить такой доступ (некоторый код опущен или упрощен):

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

Тогда я использую это так

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

Что вы думаете об этом? Я нахожу его пригодным для использования, потому что он сохраняет код простым, но также запутанным, поскольку IConfigurationSectionHandler не рекомендуется с .NET Framework 2.0

Ответы [ 2 ]

2 голосов
/ 19 мая 2010
1 голос
/ 19 мая 2010

Ну, в принципе, я не вижу ничего плохого в этой концепции.

Более управляемой реализацией может быть реализация стандартного средства доступа к статическим экземплярам в разделе конфигурации и использование его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...