Приложение хранит данные конфигурации в пользовательском разделе файла конфигурации. Эта информация используется во всем приложении.Чтение конфигурационного файла. Передовая практика
В настоящее время я использую вспомогательный статический класс для обеспечения доступа, как это (некоторый код опущен или упрощенный):
[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
К сожалению, у меня уже есть статический экземпляр (текущий). Это то, что вы упомянули? –
@ Андрю - так и сделаешь. Я ушел из своей игры сегодня, пропустив очевидное. Итак, да, я не вижу ничего плохого в том, как вы это делаете, я делаю то же самое с моими конфигурационными разделами. –
Хорошо. Что вы думаете о пользовательских классах разделов конфигурации, предложенных Франциско Пеновым? –