我正在通过在 Azure 门户中配置值来覆盖在 appsettings.json 文件中设置的值。
为此,我做出了以下更改,除了调试代码时出现问题外,其他情况都正常工作。
Startup.cs
public Startup(IConfiguration configuration, IHostingEnvironment env)
{
Configuration = configuration;
IConfigurationBuilder builder = new ConfigurationBuilder();
builder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
builder.AddEnvironmentVariables();
Configuration = builder.Build();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
DBContext.ConnectionString = Configuration.GetConnectionString("Connectionstr");
Constants.AppLogicURI = Configuration["MailUri:LogicAppUri"];
Constants.BlobStorageKey = Configuration["BlobKey:BlobStorageKey"];
Constants.BlobStorageConnectionString = Configuration["BlobConnectionString:BlobStorageConnectionString"];
Constants.BlobUri = Configuration["Uri:BlobUri"];
Constants.StorageAccount = Configuration["AccountName:StorageAccount"];
}
当我调试我的代码时,由于无法获取appsettings.json文件中的任何值,导致应用程序启动失败。
只有在我注释掉Configuration = builder.Build();
这一行时,我才能获得这些值。
不确定为什么需要这样做以及如何解决此问题。
Configuration = configuration;
- 这样可以让 Azure 门户的设置覆盖appsettings.json
中的值。你能具体说明一下你需要什么样的示例代码吗? - Kirk Larkin