Configuration.bind не устанавливает значенияC#

Место общения программистов C#
Anonymous
Configuration.bind не устанавливает значения

Сообщение Anonymous »

В настройках моего приложения есть следующий раздел:
"ExternalApiSettings": [
{
"User": "Administrator",
"Key": "From user secrets",
"Roles": [
"Admin"
],
"Controllers": [
"All"
]
}
],

Что я пытаюсь привязать к свойству Users следующего класса:
public static class ExternalApiSettings
{
public static IEnumerable Users { get; set; } = Array.Empty();
}

Используя следующее
builder.Configuration.GetSection("ExternalApiSettings").Bind(ExternalApiSettings.Users);

Но когда я получаю доступ к ExternalApiSettings.Users, это всегда пустой массив.
Если я это делаю
ExternalApiSettings.Users = configuration.GetSection(nameof(ExternalApiSettings)).Get();

Пользователи заполняются, есть ли причина, по которой привязка не работает?
Кроме того, все остальные привязки в моем коде работают нормально, например
builder.Configuration.GetSection("Umbraco:CMS:Content:Error404Collection").Bind(SiteSettings.ErrorPageCollection);

"Umbraco": {
"CMS": {
"Content": {
"AllowEditInvariantFromNonDefault": true,
"Error404Collection": [
{
"Culture": "default",
"ContentKey": "aff1fbee-5a34-4c89-a7b2-4bcdbf4a6529"
}
],
}
}
}

public static class SiteSettings
{
public static IEnumerable ErrorPageCollection { get; set; } = Array.Empty();
}


Подробнее здесь: https://stackoverflow.com/questions/799 ... ing-values

Вернуться в «C#»