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

.NET Core中如何像Spring Boot一样从环境变量配置appsettings.json

.NET Core中用环境变量配置连接字符串与日志级别

当然有类似Spring Boot的实现方式,.NET Core支持在appsettings.json里用%环境变量名%的语法直接引用环境变量,应用启动时会自动替换对应的取值。下面结合你的配置示例说明具体做法:

1. 配置数据库连接字符串

可以选择替换连接字符串里的敏感参数,或是直接引用整个连接字符串:

方式一:替换部分敏感参数

修改ConnectionStrings下的UATDB值,把原有的{user id}和{password}替换为对应的环境变量:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {    
    "UATDB": "Server=localhost;Database=UAT;User ID=%DB_USER%;Password=%DB_PASSWORD%;Trusted_Connection=false;TrustServerCertificate=True;Integrated Security=False;"    
  }
}

方式二:引用整个连接字符串

如果想把完整的连接字符串都通过环境变量传递,直接写成:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {    
    "UATDB": "%UAT_DB_CONNECTION_STRING%"
  }
}

2. 配置日志级别

用同样的语法替换日志级别的固定值,示例如下:

{
  "Logging": {
    "LogLevel": {
      "Default": "%LOG_DEFAULT_LEVEL%",
      "Microsoft.AspNetCore": "%LOG_ASP_NET_LEVEL%"
    }
  },
  "ConnectionStrings": {    
    "UATDB": "%UAT_DB_CONNECTION_STRING%"
  }
}

注意事项

  • 环境变量优先级高于appsettings.json,只要环境变量存在,就会覆盖配置文件里的默认值;
  • 环境变量名称不区分大小写,但建议保持命名一致避免混淆;
  • Windows系统设置环境变量后,需要重启命令行或IDE才能生效;Linux/macOS可通过export 变量名=值临时设置,或写入~/.bashrc/~/.zshrc实现永久生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:55:57