В моем проекте ASP.NET Core 2.2 WebApi я хочу загрузить конфигурацию из appsettings.json
в строго типизированный объект.
В appsettings.json есть следующий раздел конфигурации:
{
"MySettings1": {
"Name": "John Smith",
"Age": "25",
}
}
который я хочу загрузить в строго типизированный объект MySettings
:
public class MySettings
{
public string Name { get; set; }
public int Age { get; set; }
}
Я могу сделать это в моем методе Startup.ConfigureServices()
следующим образом:
services.Configure<MySettings>(configuration.GetSection("MySettings1"));
или следующим образом:
services.AddOptions<MySettings>().Bind(configuration.GetSection("MySettings1"));
В чем разница между этими двумя подходами?Оба они работают нормально, так как я могу получить правильный экземпляр IOptions<MySettings>
, введенный в HomeController
в обоих случаях.
Существуют ли какие-то конкретные сценарии, в которых я должен использовать один из них по сравнению с другим?(например, в будущем я, вероятно, захочу добавить некоторую проверку времени выполнения объекта MySettings, как только он будет заполнен из конфигурации, поэтому в этом случае я должен предпочесть один подход другому?)