使用依賴注入訪問配置

建議的方法是避免這樣做,而是使用 IOptions<TOptions>IServiceCollection.Configure<TOptions>

也就是說,將 IConfigurationRoot 可用的應用程式擴充套件起來仍然非常簡單。

在 Startup.cs 建構函式中,你應該具有以下程式碼來構建配置,

 Configuration = builder.Build();

這裡 ConfigurationIConfigurationRoot 的一個例項,並將此例項作為 Singleton 新增到 ConfigureServices 方法 Startup.cs 中的服務集合中,

 public void ConfigureServices(IServiceCollection services)
 {
    services.AddSingleton<IConfigurationRoot>(provider => Configuration);

例如,你現在可以訪問 Controller / Service 中的配置

  public MyController(IConfigurationRoot config){
      var setting1= config.GetValue<string>("Setting1")
  }