c# - Porting configuration options from netcoreapp1.1 to netcoreapp2.0 -
in netcoreapp1.1 config defined in startup
, had this:
public startup(ihostingenvironment env) { _configuration = new configurationbuilder() .setbasepath(env.contentrootpath) .addjsonfile("appsettings.json") .build(); } private readonly iconfigurationroot _configuration; public iserviceprovider configureservices(iservicecollection services) { services.addoptions(); services.configure<stuff1>(_configuration.getsection("stuff1")); services.configure<stuff2>(_configuration.getsection("stuff2")); services.adddbcontext<context>(options => options.usesqlite(_configuration.getconnectionstring("defaultconnection")), ); }
but in netcoreapp2.0 config defined separately in program
. startup
has this:
public iserviceprovider configureservices(iservicecollection services) { var configuration = //??? how this? services.addoptions(); services.configure<stuff1>(configuration.getsection("stuff1")); services.configure<stuff2>(configuration.getsection("stuff2")); services.adddbcontext<context>(options => options.usesqlite(configuration.getconnectionstring("defaultconnection")), ); }
so how iconfigurationroot
in configureservices()
, can setup typed stuff1
, stuff2
options, , other stuff connections string?
turns out it's automatically registered container, , available this:
public startup(iconfiguration configuration) { _configuration = configuration; } public readonly iconfiguration _configuration;
this works me, think it's possible use iconfigurationroot
.
Comments
Post a Comment