Это расстраивает отношения между файлами JSON и конфигурацией в ASP.NET Core.
Я установил секрет, как это:
dotnet user-secrets set "Pwd" "123"
Кажется, что нет способа извлечь его с помощью метода IConfiguration.GetSection
, можно использовать только IConfiguration.GetValue
, мне нужно использовать IConfiguration.GetSection
, чтобы связать значение с объектом POCO:
public class AppSecrets
{
public int Pwd { get; set; }
}
Затем я добавил еще один секрет: "parent:pwd" "456"
И посмотрел на автоматически сгенерированный файл JSON, и он выглядит как обычный JSON с двумя ключами:
{
"Pwd": "123",
"parent:pwd": "456"
}
так что делает двоеточие особенным для конфигурации в .NET Core. В документах
они упомянули:
В предыдущем примере двоеточие означает, что Movies является объектом
литерал со свойством ServiceApiKey.
Но в моем примере значение было получено, несмотря на то, что parent
не сопоставляется с классом AppSecrets по имени.
Также еще один момент, разочаровывающий меня в том, как значения передаются в аргументы приложения в свойствах проекта, что-то вроде этого:
--user:data:year 1991
можем ли мы передать больше иерархических узлов?
извините за то, что разочаровал вас моим разочарованием Я просто открываю ядро .NET!