.NET Core 6部署Azure App Service后应用设置未被覆盖问题
问题解决:Azure App Service应用设置未覆盖appsettings.json的误解
你混淆了Azure App Service应用设置的工作机制:它不会修改服务器上的appsettings.json物理文件,而是在应用运行时通过环境变量的方式覆盖配置值,优先级高于本地的appsettings.json。
验证配置覆盖是否生效的方法
- 修改Razor页面(比如
Index.cshtml),添加读取配置的代码:
@page @model IndexModel @{ ViewData["Title"] = "Home page"; } <div class="text-center"> <h1 class="display-4">Welcome</h1> <p>TestSetting的值:@Configuration["TestSetting"]</p> </div> @inject IConfiguration Configuration
- 重新部署应用到Azure App Service。
- 访问应用首页,此时显示的
TestSetting值应该是你在Azure配置的TestValue3,而appsettings.json文件本身在Kudu里查看还是原来的TestValue,这是正常现象。
补充说明
.NET Core配置系统的优先级(从低到高):
- appsettings.json
- appsettings.{Environment}.json
- 环境变量(Azure App Service的应用设置会转为环境变量)
- 命令行参数
应用运行时会优先读取Azure配置的值,只是不会修改物理文件本身。
内容的提问来源于stack exchange,提问作者PointlessSpike
相关产品推荐
相关产品推荐

