ASP.NET核心Docker环境变量(如果应用迁移)
我有一个ASP.NET核心应用程序在Docker中运行,我需要(在开始时)向容器传递一个bool变量,以确定是否启用该变量以应用迁移 例如:ASP.NET核心Docker环境变量(如果应用迁移),docker,asp.net-core,Docker,Asp.net Core,我有一个ASP.NET核心应用程序在Docker中运行,我需要(在开始时)向容器传递一个bool变量,以确定是否启用该变量以应用迁移 例如: public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if(newDB) Seed(true); else Seed(false); ... } 您可以使用配置变量,该变量的值将在运行时被环境变量覆盖 public Startup(I
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if(newDB)
Seed(true);
else
Seed(false);
...
}
您可以使用配置变量,该变量的值将在运行时被环境变量覆盖
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables("APP_");
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get; }
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var newDB = Convert.ToBoolean(Configuration["NewDB"]));
(...)
appsettings.json:
{
"Logging": {
(..)
},
"NewDB": false
}
运行集装箱通行证时:
docker run-e APP_NewDB='true'…
我收到一个异常,说未处理的异常:System.FormatException:无法解析JSON文件。第27行错误:'},…。json文件中是否缺少任何逗号?如果可以,请共享它。{“Logging”:{“IncludeScopes”:false,“LogLevel”:{“Default”:“Warning”},{“NewDB”:false}您不应该在NewDB参数周围使用另一个大括号-大括号表示另一个结构,并且您没有命名它,因此出现了错误。更正一条:{“Logging”:{“IncludeScopes”:false,“LogLevel”:{“Default”:“Warning”}},“NewDB”:false}