You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function V1如何使用ConfigurationManager读取settings.json配置值

解决方案

可以实现,以下是两种不需要修改原有.NET Framework类库代码的落地方案:

方案1:新增App.config配置(最稳妥,无额外依赖)

ConfigurationManager为.NET Framework生态的原生配置读取类,默认读取应用根目录的App.config文件中的配置,你可以按如下步骤操作:

  • 在Azure Function V1项目的根目录新增App.config文件,按传统.NET Framework格式填写所有类库需要用到的配置项:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Key" value="对应的配置值"/>
    <!-- 其余类库依赖的配置项依次添加即可 -->
  </appSettings>
</configuration>
  • 右键选中App.config文件,将属性中的「复制到输出目录」设置为如果较新则复制。
  • 该方案本地调试和云端部署都可直接生效:云端部署时,你在Azure门户的Function应用「配置」页添加的同名应用设置,会自动覆盖App.config中对应配置项的值,不需要额外修改配置或代码。

方案2:启动时同步环境变量到ConfigurationManager(适合配置项多的场景)

如果你不想同时维护local.settings.json和App.config两份配置,可以在Function启动时将环境变量中的配置同步到ConfigurationManager.AppSettings集合中:

  • 首先在项目中安装Microsoft.Azure.Functions.Extensions NuGet包
  • 新增项目启动类,代码示例如下:
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using System.Configuration;

[assembly: FunctionsStartup(typeof(你的项目命名空间.Startup))]
namespace 你的项目命名空间
{
    public class Startup : FunctionsStartup
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
            // 同步所有环境变量配置到AppSettings集合
            foreach (string key in ConfigurationManager.AppSettings.AllKeys)
            {
                var envValue = Environment.GetEnvironmentVariable(key);
                if (!string.IsNullOrEmpty(envValue))
                {
                    ConfigurationManager.AppSettings[key] = envValue;
                }
            }
        }
    }
}
  • 该方案下你只需要把配置项写到local.settings.json的Values节点下即可,ConfigurationManager.AppSettings可以正常读取到对应值。

内容的提问来源于stack exchange,提问作者ivan0590

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:36:03