如何在C#代码中正确读取Azure App Service的Application Settings配置变量
正确实现方案
根因说明
Azure App Service 对 .NET Framework 应用有默认的配置注入逻辑:你在门户配置的「Application Settings」键值对,会自动覆盖 web.config 中 appSettings 节点的同名项,无需手动读取环境变量。你当前写的配置和读取逻辑不符合Azure的默认规则,导致取值失败。
最优方案(无需适配环境)
直接删除 web.config 中你自行添加的 <add key="Adam" value="APPSETTING_Adam"/> 配置行,代码直接读取对应键即可:
string testVar1 = ConfigurationManager.AppSettings["Adam"]; return testVar1;
本地调试时你只要在本地 web.config 的 appSettings 里加好Adam的本地测试值,Azure部署后会自动替换为你在门户配置的Hello,两边都能正常运行。
环境变量读取方案(如果你需要保留这种写法)
Environment.ExpandEnvironmentVariables要求变量必须用%前后包裹,所以把web.config的对应配置改成:
<appSettings> <add key="APP_CONFIG_URL" value="https://localURL" /> <add key="Adam" value="%APPSETTING_Adam%"/> </appSettings>
你的原有代码不需要修改即可正常取值。
排错验证
如果部署后仍异常,可进入Azure App Service的Kudu高级工具,查看环境变量列表,确认APPSETTING_Adam是否存在、值是否正确,排除配置未保存、部署槽位选错的低级问题。
内容的提问来源于stack exchange,提问作者AdamCodes716
相关产品推荐
相关产品推荐

