Приложение сохраняет данные конфигурации в пользовательском разделе файла конфигурации. Эта информация используется во всем приложении.
В настоящее время я использую статический класс-помощник, чтобы обеспечить такой доступ (некоторый код опущен или упрощен):
[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