我正在尝试在IOptions
我创建的服务内部注入一个,它始终为空:
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();
}
}
服务
internal class StatusService
{
private Config config;
public StatusService(IOptions<Config>_config)
{
this.config=_config.Value; // _config has default fields
}
}
PS Config 只是一个 POCO,它Program.Main
使用扩展名填充到方法中。UseConfiguration
配置解析正常,所以没有问题。我在构造函数中成功注入了配置Startup
。