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

如何在ASP.NET Core应用中读取、使用Azure应用配置及部署配置?

问题解答

1. 在REST API中使用加载后的配置

你已经通过builder.Services.Configure<IssueIdentityAPIConfig>(...)完成了配置绑定,ASP.NET Core REST API中获取配置的方式和页面场景一致,通过依赖注入即可实现,具体操作如下:

  • 在API控制器的构造函数中注入配置对象(可选IOptionsSnapshot<T>/IOptions<T>/IOptionsMonitor<T>,按需选择):

    [ApiController]
    [Route("api/[controller]")]
    public class DemoController : ControllerBase
    {
        private readonly IssueIdentityAPIConfig _apiConfig;
    
        // 注入IOptionsSnapshot,支持请求范围内的配置动态更新
        public DemoController(IOptionsSnapshot<IssueIdentityAPIConfig> apiConfig)
        {
            _apiConfig = apiConfig.Value;
        }
    
        [HttpGet]
        public IActionResult GetConfig()
        {
            // 直接调用配置项
            var targetSetting = _apiConfig.YourSettingName;
            return Ok(targetSetting);
        }
    }
    
  • 三种注入对象的区别:

    • IOptions<T>:单例模式,启动时加载配置,不支持动态更新
    • IOptionsSnapshot<T>:请求范围模式,每次请求重新读取配置,适配动态刷新场景
    • IOptionsMonitor<T>:单例模式,可实时监听配置变化,适合主动监听配置更新的场景

2. 部署到Azure后的配置处理

部署到Azure Web App后无需修改现有代码,只需在Azure门户完成配置映射即可:

  • 登录Azure门户,进入你的Web App,选择配置 > 连接字符串(或配置 > 应用程序设置):

    • 若用连接字符串:新增名称为AppConfig的项,值填入Azure App Configuration的实际连接字符串,类型选Custom
    • 若用应用程序设置:新增键为ConnectionStrings:AppConfig的项,值填入连接字符串
      (ASP.NET Core的Configuration.GetConnectionString("AppConfig")会自动读取这两种配置,且Azure门户设置优先级高于本地appsettings.json)
  • 本地开发时,可将AppConfig连接字符串存放在appsettings.Development.json或用户机密中,避免敏感信息提交到代码仓库;部署后Azure门户的配置会自动覆盖本地配置,保障生产环境安全。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:51:11