Базовое приложение asp.net имеет IOptions, настроенные из двух источников: (a) appsetting.json и (b) database
Я переопределяю значения из appsetting.json значениями в базе данных. Теперь я хочу позволить пользователю на лету редактировать значения для определенных предопределенных настроек (которые сохраняются в базе данных), например, включить трассировку стека для временной отладки некоторых проблем в производственной среде.
Во время инициализации приложения я перезаписываю значения в базе данныхиспользуя IconfigureOptions
, как показано здесь
public class HostingOptionSetupService : IConfigureOptions<HostingOption>
{
private readonly AppDbContext _dbContext;
public AvailabilitySearchOptionsSetupService(AppDbContext dbContext)
{
this._dbContext = dbContext;
}
public void Configure(AvailabilitySearchOptions options)
{
var json = ConvertToJsonString(_dbContext.AppSetting.ToList());
JsonConvert.PopulateObject(options, json);
}
}
Но теперь, когда пользователь изменяет значения и сохраняет их в базе данных, как я могу инициировать повторное связывание? Как использовать IOptionsMonitor при изменении базы данных ??