zoukankan      html  css  js  c++  java
  • .net core 多环境(开发和生产)配置appsettings.json

    前言

    在我们实际开发过程中一般分为开发环境和生产环境, 这两个环境一般配置会有不一样, 例如数据库连接字符串. .net core 框架中提供三个值, Development(开发),  Staging(分阶段), Production(生产环境). 我们可以根据这个来配置不同的环境.

    创建appsettings文件

    在创建项目的时候系统会默认创建一个appsettings.json 和 appsettings.Development.json文件. 其中appsettings.Development.json用于存储仅用于开发环境的配置, 而appsettings.json存储公共配置. 我们还可以自己新建appsettings.Production.json. 用于存储仅用于生成环境的. 新增appsettings.Staging.json 用于分阶段的环境

     我们写一个数据库连接字符串的

    appsettins.Production.json

     appsettings.json

     appsettings.Development.json

     读取appsettings文件

    .net core 中默认已经注入了读取appsettings.json的方法, 我们只要使用就可以了

        [ApiController]
        [Route("[controller]/[action]")]
        public class DemoController : ControllerBase
        {
            private readonly IConfiguration _configuration;
            public DemoController(IConfiguration configuration)
            {
                _configuration = configuration;
            }
    
            public IActionResult TestGet()
            {
                var cfRt = _configuration["DbConnect"];
                return Ok(cfRt);
            }
        }

    系统默认读取配置文件的顺序是

    开发环境

    appsettings.Development.json -> appsettings.json

    生产环境

    appsettings.Production.json -> appsettings.json

    没有Development和Production的时候默认读取 appsettings.json

    如何修改读取文件

    如果不想是默认的读取文件, 可以手动修改.

    开发环境

    点击项目的属性, 点击调试, 将环境变量改为 Producttion, 这样开发环境就可以直接读取 appsettings.Production.json. 

    如果你设置的值找不到, 则会读取appsettings.json里的

    生产环境

    生产环境我们通过修改服务器上的web.config文件, 在apsNetCore节点里添加

    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />

     其中 value 可以设置你想要读取的文件. 如果找不到则会读取 appsettings.json里的

      <aspNetCore processPath="dotnet" arguments=".FanjqOneSln.dll" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" hostingModel="inprocess" >
        <environmentVariables>
           <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
      </aspNetCore>

    参考文献

    1. 在 ASP.NET Core 中使用多个环境

    2. ASP.NET Core 根据环境变量支持多个 appsettings.json配置文件

  • 相关阅读:
    控制结构(Scala)
    《基于Spark的大数据访存行为跨层分析工具》学习笔记
    函数式对象(Scala)
    心脏病预测(SVM模型)
    类、对象、基础类型、操作(Scala)
    ElementUI对话框(dialog)提取为子组件
    ElementUI+命名视图实现复杂顶部和左侧导航栏
    ElementUI 复杂顶部和左侧导航栏实现
    Vue页面手动刷新,导航栏激活项还原到初始状态问题解决方案
    elementUI动态数据表格(带分页)
  • 原文地址:https://www.cnblogs.com/fancyblogs/p/12665774.html
Copyright © 2011-2022 走看看