I have written a custom ConfigurationProvider with the entity framework. Since I also want to make it updateable during runtime, I have created a IWritableableOption.
I need to refresh the configuration after the update. This can be done via IConfigurationRoot.Reload.
However, how can I get the IConfigurationRoot in .net core 2?
What I have found, is that in previous versions the IConfigurationRoot was part of startup. In .net core 2 however, we have only the simpler type IConfiguration:
public Startup(IConfiguration configuration)
{
// I tried to change this to IConfigurationRoot,
// but this results in an unresolved dependency error
Configuration = configuration;
}
public IConfiguration Configuration { get; }
I also have found out, I can get my own instance using
WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration(context, builder) => {
var configurationRoot = builder.build()
})
But I want to update the configuration used by Startup.
So how can I get the IConfigurationRoot used by Startup to inject it into my service collection?