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?