Heute bin ich auf einen Fehler gestoßen, weil ich vergessen habe, eine Variable in die Konfiguration einzufügen, was aber nicht angezeigt wurde. Es wurde nur der Standardfeldwert verwendet und war lokal in Ordnung, stürzte aber auf einem anderen Computer ab.
Ich habe folgende Lösung gefunden:
Code: Select all
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;
}
Ich habe versucht, JSON aus Abschnitten abzurufen, um es über Newtonsoft.Json zu analysieren, aber auch hier ohne Erfolg.
Irgendwelche Vorschläge, wie das gemacht werden könnte?
Mobile version