相关疑难解决方法(0)

无法在服务中注入IOptions

我正在尝试注入一个IOptions我创建的服务内部,它始终为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();

    }
}
Run Code Online (Sandbox Code Playgroud)

服务

internal class StatusService
{
    private Config config;
    public StatusService(IOptions<Config>_config)
    {
      this.config=_config.Value; // _config has default fields
    }
}
Run Code Online (Sandbox Code Playgroud)

PS Config只是一个POCO,它在Program.Main使用UseConfiguration扩展的方法中填充.配置被解析好,所以没有问题Startup.我在构造函数中成功注入了配置.

c# asp.net-core microsoft.extensions.hosting

1
推荐指数
1
解决办法
353
查看次数