我在我的 API 中使用了 .NET Core 1.1,但遇到了一个问题:
appsettings.json和环境变量。IOptions。appsettings.json值。所以到目前为止我是这样做的:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
}
public IServiceProvider ConfigureServices(IServiceCollection services)
{
// Something here
services.Configure<ConnectionConfiguration>(options =>
Configuration.GetSection("ConnectionStrings").Bind(options));
// Something there
}
Run Code Online (Sandbox Code Playgroud)
用我这样的appsettings.json作曲
{
"ConnectionStrings": {
"ElasticSearchUrl": "http://localhost:4200",
"ElasticSearchIndexName": "myindex",
"PgSqlConnectionString": "blablabla"
}
}
Run Code Online (Sandbox Code Playgroud)
我将所有配置映射到我的类ConnectionConfiguration.cs。但是我也无法映射环境变量。我尝试了以下名称:ConnectionStrings:ElasticSearchUrl, ElasticSearchUrl,甚至尝试指定前缀 to.AddEnvironmentVariables("ConnectionStrings")没有任何结果。
我应该如何命名环境变量以便它可以被映射services.Configure<TConfiguration>()?