跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

乐达

  1. 主页
  2. 技术路线图
  3. 环境变量
  4. Yee.Configuration 环境变量支持文档

Yee.Configuration 环境变量支持文档

已定时 已固定 已锁定 已移动 环境变量
1 帖子 1 发布者 1 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Z 离线
    Z 离线
    zhongfangxiong
    写于 最后由 编辑
    #1

    Yee.Configuration 环境变量支持文档

    概述

    Yee.Configuration.Utility 类支持通过操作系统环境变量 APP_ENV 来动态指定应用配置环境,无需修改 Web.config 文件。

    配置优先级

    系统按以下顺序读取配置环境标识(ProductEnv):

    1. 操作系统环境变量 APP_ENV(最高优先级)
    2. Web.config 中的 appSettings["ProductEnv"]
    3. 默认值 "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+

    1 条回复 最后回复
    0
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • 世界
    • 用户
    • 群组