使用依賴注入訪問配置
建議的方法是避免這樣做,而是使用 IOptions<TOptions>
和 IServiceCollection.Configure<TOptions>
。
也就是說,將 IConfigurationRoot
可用的應用程式擴充套件起來仍然非常簡單。
在 Startup.cs 建構函式中,你應該具有以下程式碼來構建配置,
Configuration = builder.Build();
這裡 Configuration
是 IConfigurationRoot
的一個例項,並將此例項作為 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")
}