Сегодня я столкнулся с ошибкой, потому что я забыл поместить одну переменную в конфигурацию, а она об этом не сказала. Он просто использовал значение поля по умолчанию, и локально все было в порядке, но на другом компьютере произошел сбой.
Я пришел к следующему решению:
Код: Выделить всё
private static T Deserialize(IConfigurationRoot configuration, string sectionName) where T : new()
{
var result = new T();
var configurationSection = configuration.GetSection(sectionName);
configurationSection.Bind(result);
foreach (var propertyInfo in typeof(T).GetProperties())
{
var value = propertyInfo.GetValue(result);
if (value == null || value is string s && s == "")
{
throw new ArgumentException($"All configuration fields are required but {propertyInfo.Name} is missing");
}
}
return result;
}
Я пытался получить JSON из разделов, чтобы проанализировать его через Newtonsoft.Json, но снова безуспешно.
Есть предложения, как это можно сделать?
Подробнее здесь: https://stackoverflow.com/questions/561 ... tings-json
Мобильная версия