Существует несколько способов чтения данных иерархической конфигурации.Первый из них показан в Документации MSDN
. Вы можете читать субключи через массив Config следующим образом:
Config["xyz:UserName"]
Config["xyq:RIds:a"]
Другой альтернативой является создание класса, который представляетданные, которые вы пытаетесь загрузить:
public class Xyz
{
public string UserName { get; set; }
public string Password { get; set; }
public RIds RIds { get; set; }
}
public class RIds
{
public string a { get; set; }
public string b { get; set; }
public string c { get; set; }
}
В startup.cs
вы можете загрузить конфигурацию в свой класс и добавить ее в любые другие классы, которые в ней нуждаются:
public Configure(IServiceCollection services)
{
...
services.AddConfiguration<Xyz>(Configuration.GetSection("xyz"));
}
СейчасВы можете получить к нему доступ в классе, используя IOptions<T>
class
public class MyClass
{
private readonly Xyz _config;
public MyClass(IOptions<Xyz> options)
{
_config = options.Value;
var username = _config.UserName;
}
}
. Это также работает, когда вы определяете параметры в настройках приложений Azure.Чтобы получить иерархию, вам нужно использовать :
для определения взаимосвязи, например,
xyz:UserName
xyz:Password
Вся информация о конфигурации доступна на MSDN
. Вы можете прочитать оIOptions<T>
здесь