我尝试获得一个非常基本的示例,以覆盖应用程序设置(作为起点)。我使用.Net Core 6从模板创建了一个新的Web应用程序。唯一的变化是我添加了如下所示的设置:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"TestSetting": "TestValue"
}
我已经把它挂接到一个应用服务应用程序中,应用程序设置如下:
我希望TestSetting的值是TestValue3。当我查看Kudu时,我看到appsettings.json根本没有更改。
我已经在这方面工作了一段时间。我在网上看到的一切都告诉我,这应该工作。应用程序按预期显示,只是应用程序设置永远不会被覆盖。
编辑:有人要求提供program.cs文件,所以它在这里。我没有改变它的默认值。
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
1条答案
按热度按时间bq3bfh9z1#
如果您想覆盖任何
App setting
值,则必须在appsettings.json
文件中设置密钥(使用虚拟值)。Azure Configuration Application Settings
中使用所需值设置相同的密钥名称。当我们在
Azure App settings
中设置键时,指定的键值将被appsettings.json
文件值覆盖。appsettings.json
中的相同值。当我查看Kudu时,我看到appsettings.json根本没有更改。
部署的
appsettings.json
不会有任何变化。更新后的值可以在
KUDU Console
=〉Environment
=〉App Settings
中看到。显示
.cshtml
文件中的值:当应用程序在本地运行时,将采用
appsettings.json
中的值。Index.cshtml:
本地输出:
Azure App service
,这些值取自Azure应用程序设置。部署App输出: