I am trying to inject a IOptions
inside a service that I created and it is always null:
public class Startup
{
private IConfiguration configuration;
public Startup(IConfiguration config)
{
this.configuration = config; //gets injected from Main method , not null !
}
public void ConfigureServices(IServiceCollection services)
{
Config config = configuration.GetSection("Config").Get<Config>();
services.Configure<Config>(configuration);
services.AddTransient<StatusService>();
services.AddCors();
services.AddOptions();
}
}
Service
internal class StatusService
{
private Config config;
public StatusService(IOptions<Config>_config)
{
this.config=_config.Value; // _config has default fields
}
}
P.S Config is just a POCO that gets populated in the Program.Main
method using UseConfiguration
extension.The configuration is parsed OK so no problems there.I get the configuration injected successfully in the Startup
constructor.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…