配置文件读取。最佳实践

问题描述 投票:0回答:2

应用程序将配置数据存储在配置文件的自定义部分中。该信息在整个应用程序中使用。

现在我使用辅助静态类来提供这样的访问(省略或简化了一些代码):

[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  %>

你觉得怎么样?我发现它很有用,因为它使代码保持简单,但也很困惑,因为自 .NET Framework 2.0 以来,IConfigurationSectionHandler 已被弃用

.net configuration
2个回答

1
投票

嗯,原则上,我认为这个概念没有任何问题。

更易于管理的实现可能是在配置部分实现默认的静态实例访问器并使用它。

© www.soinside.com 2019 - 2024. All rights reserved.