Yee.Configuration 环境变量支持文档
环境变量
1
帖子
1
发布者
1
浏览
1
关注中
-
Yee.Configuration 环境变量支持文档
概述
Yee.Configuration.Utility 类支持通过操作系统环境变量
APP_ENV来动态指定应用配置环境,无需修改Web.config文件。配置优先级
系统按以下顺序读取配置环境标识(
ProductEnv):- 操作系统环境变量
APP_ENV(最高优先级) - Web.config 中的
appSettings["ProductEnv"] - 默认值
"default"(兜底)
使用方法
方式一:设置操作系统环境变量(推荐)
Windows PowerShell:
# 临时设置(仅当前会话) $env:APP_ENV = "production" # 永久设置(系统级) [System.Environment]::SetEnvironmentVariable("APP_ENV", "production", "Machine") # 永久设置(用户级) [System.Environment]::SetEnvironmentVariable("APP_ENV", "production", "User")Linux/Docker:
# 临时设置 export APP_ENV=production # Docker 容器 docker run -e APP_ENV=production your-image # docker-compose.yml environment: - APP_ENV=production方式二:配置 Web.config
<configuration> <appSettings> <add key="ProductEnv" value="production" /> </appSettings> </configuration>配置路径映射
配置文件从以下路径读取:
- Windows:
C:\config\{ProductEnv}\ - Linux:
/config/{ProductEnv}/
示例:
APP_ENV=production→ 读取C:\config\production\APP_ENV=test→ 读取C:\config\test\- 未设置 → 读取
C:\config\default\
代码示例
using Yee.Configuration; // 获取当前环境标识 string env = Utility.ProductEnv; // 返回 "production"、"test" 或 "default" // 获取配置文件夹路径 string configPath = Utility.GetAppConfigFolderPath(); // 例如 "C:\config\production"典型场景
场景 配置方式 优势 本地开发 不设置(使用 default) 简单快速 测试环境 APP_ENV=test无需修改配置文件 生产环境 APP_ENV=production部署时一次性配置 Docker 部署 环境变量注入 符合 12-Factor 最佳实践 注意事项
- 环境变量修改后需重启应用才能生效
- 配置目录(如
C:\config\production\)必须存在,否则抛出DirectoryNotFoundException - 建议在 CI/CD 流程中统一设置环境变量,避免手动修改配置文件
修改日期: 2024-11-24
适用版本: Yee.Configuration 1.0+ - 操作系统环境变量