Как работает приложение:
Опция 1 - загрузить itens из настроек приложения. Опция 2 - Включить новый элемент
Если выбрать «Опция 1», показать itens. Это работает. Итак ... я включаю новый элемент, используя «Вариант 2». Это работает. Но если я выберу «Вариант 1», чтобы отобразить его, список будет пуст.
Мои настройки приложений
"app": {
"hosts": [
{
"ip": "127.0.0.1",
"hostname": "NotFound"
},
{
"ip": "127.0.0.1",
"hostname": "MyProject"
},
{
"ip": "127.0.0.1",
"hostname": "AnotherProject.dev"
}
]
}
}
Сделать привязку
AppSettingsModel appSettings = new AppSettingsModel();
Configuration.Bind("app", appSettings);
Я настраиваю настройки приложений в reloadOnChange
static IConfiguration LoadConfiguration() =>
new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", false, true)
.Build();
Обновление настроек приложения
var appSettings = new AppSettingsModel();
var appSettings = new AppSettingsModel();
Configuration.Bind("app", appSettings);
appSettings.Hosts.Add(new HostsModel()
{
Ip = "102.54.94.97",
Hostname = "rhino.acme.com"
});
var jsonSerializerOptions = new JsonSerializerOptions()
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
var resultC = JsonSerializer.Serialize(appSettings, jsonSerializerOptions);
File.WriteAllText("appsettings.json", resultC);
Мой код -> https://github.com/tiago-aguiar-moreira/ManagerHosts