问题
How can you check if a configuration section exists in the appsettings.json
in .NET Core?
Even if a section doesn't exist, the following code will always return an instantiated instance.
e.g.
var section = this.Configuration.GetSection<TestSection>("testsection");
回答1:
Query the children of Configuration and check if there is any with the name "testsection"
var sectionExists = Configuration.GetChildren().Any(item => item.Key == "testsection"));
This should return true if "testsection" exists, otherwise false.
回答2:
Since .NET Core 2.0, you can also call the ConfigurationExtensions.Exists extension method to check if a section exists.
var section = this.Configuration.GetSection("testsection");
var sectionExists = section.Exists();
Since GetSection(sectionKey)
never returns null, you can safely call Exists
on its return value.
It is also helpful to read this documentation on Configuration in ASP.NET Core.
来源:https://stackoverflow.com/questions/44641488/how-to-check-if-configuration-section-exists-in-net-core