У меня есть следующий класс из старого . NET MVC проекта:
public class MatchConfiguration : ConfigurationSection
{
[ConfigurationProperty("Threshold", IsRequired = false, IsKey = false)]
public string Threshold
{
get
{
return this["Threshold"] as string;
}
set
{
this["Threshold"] = value;
}
}
[ConfigurationProperty("CertaintyThreshold", IsRequired = false, IsKey = false)]
public string CertaintyThreshold
{
get
{
return this["CertaintyThreshold"] as string;
}
set
{
this["CertaintyThreshold"] = value;
}
}
//subsections
[ConfigurationProperty("nonSignificativeWords")]
public PatientMatchWordCollection NonSignificativeWords
{
get
{
return this["nonSignificativeWords"] as PatientMatchWordCollection;
}
}
}
В файле web.config у меня был раздел с:
<section name="match" type="Test.Service.MatchConfiguration"></section>
А также в файле web.config:
<match Threshold="92.2" CertaintyThreshold="28">
<nonSignificativeWords>
<words word="LA" />
<words word="DY" />
</nonSignificativeWords>
</match>
Теперь в As pNET Core 3.1 есть только файл appsettings.json
. Я уже знаю, как создать класс AppSettings
и связать раздел AppSetting
.
// configure strongly typed settings objects
var appSettingsSection = Configuration.GetSection("AppSettings");
services.Configure<AppSettings>(appSettingsSection);
И мой appsettings.json
"AppSettings": {
"Threshold": 92.2,
"CertaintyThreshold": 28,
"nonSignificativeWords": [
{
"word":"LA"
},
{
"word":"DY"
}]
}
Это класс AppSettings
:
public class AppSettings
{
public double Threshold { get; set; }
public double CertaintyThreshold { get; set; }
public List<Word> nonSignificativeWords { get; set; }
}
public class Word
{
public string Word{ get; set; }
}
Как я могу по-прежнему использовать ConfigurationProperty
в качестве класса MatchConfiguration
, поэтому он принимает значения из AppSettings
?
Любые советы, рекомендации или обходные пути?