В двух проектах (веб-API .NET Core и WindowsService .NET Core) я использую appsettings.json для конфигурации.
var configuration = new ConfigurationBuilder()
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
В обоих случаях для reloadOnChange установлено значение true, и я использую его как внедренный IOptions
через инъекцию зависимостей. Внутри веб-API в классы контроллера и внутри службы в классы, которые используют настройки.
К сожалению, я заметил, что значения не меняются при изменении appsettings.json.
В веб-API я создал контроллер, который просто возвращает строковое значение из конфигурации, и оно остается таким же, как при запуске.
Итак, мои вопросы:
- Кто-нибудь знает, должно ли это работать из коробки (по крайней мере, в веб-API)?
- Что-нибудь, что я должен сделать, чтобы это работало?
services.Configure<MyAppSettings>(Confiugration.GetSection(...))
? или вы используете.Bind()
? - person Tseng   schedule 11.04.2017