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

如何在ASP.NET Core 6.0 Web API中读取Azure App Service应用设置

.NET Core 6.0 Azure App Service读取应用设置的最简方案

问题根源

你当前代码里提前构建了ServiceProvider并获取IConfiguration,此时配置还没完成全部加载(包括Azure App Service的应用设置);同时在ConfigureAppConfiguration里错误使用了未更新的configuration变量,这才导致部署后读不到值。

最简读取方式

.NET Core默认会自动加载Azure App Service的应用设置,不需要额外配置,直接用builder.Configuration就能读取,或者在需要的地方依赖注入IConfiguration即可。

修正后的Program.cs代码

using HelloWorldApi.Helpers;
using Microsoft.AspNetCore.Authentication.Certificate;
using Microsoft.AspNetCore.Server.Kestrel.Https;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();

// 方式1:直接用builder.Configuration读取,最简写法
var mykey = builder.Configuration["mykey"];
// 或者强类型读取
var mykeyValue = builder.Configuration.GetValue<string>("mykey");

builder.WebHost.ConfigureKestrel(o =>
{
    o.ConfigureHttpsDefaults(o =>
    {
        // 如果要在Kestrel配置里读取,同样用builder.Configuration
        // var key = builder.Configuration["mykey"];
    });
});

var app = builder.Build();

// 如果构建完app后需要读取,也可以从服务容器获取IConfiguration
var config = app.Services.GetRequiredService<IConfiguration>();
var postBuildMykey = config["mykey"];

// 后续中间件配置
app.MapControllers();
app.Run();

注意事项

  • 部署到Azure后,确认「配置」->「应用设置」里的mykey已正确添加,Azure的应用设置优先级高于本地配置文件,不会被覆盖。
  • 别提前调用BuildServiceProvider,这会导致配置未完全加载,还可能引发服务生命周期问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 13:45:23