.net core 多环境(开发和生产)配置appsettings.json

摘要:
前言在我国实际开发过程中一般分为开发环境和生产环境。这两种环境的一般配置将不同。例如,数据库连接字符串..Netcore框架提供了三个值:Development、Staging、Production(生产环境)。我们可以根据此配置不同的环境。创建appsettings文件时,系统将创建一个appsetting。json和appsettings。创建项目时默认开发

前言

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

创建appsettings文件

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

.net core 多环境(开发和生产)配置appsettings.json第1张

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

appsettins.Production.json

.net core 多环境(开发和生产)配置appsettings.json第2张

appsettings.json

.net core 多环境(开发和生产)配置appsettings.json第3张

appsettings.Development.json

.net core 多环境(开发和生产)配置appsettings.json第4张

读取appsettings文件

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

[ApiController]
    [Route("[controller]/[action]")]
    public classDemoController : ControllerBase
    {
        private readonlyIConfiguration _configuration;
        publicDemoController(IConfiguration configuration)
        {
            _configuration =configuration;
        }

        publicIActionResult TestGet()
        {
            var cfRt = _configuration["DbConnect"];
            returnOk(cfRt);
        }
    }

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

开发环境

appsettings.Development.json ->appsettings.json

.net core 多环境(开发和生产)配置appsettings.json第5张

生产环境

appsettings.Production.json ->appsettings.json

.net core 多环境(开发和生产)配置appsettings.json第6张

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

如何修改读取文件

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

开发环境

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

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

.net core 多环境(开发和生产)配置appsettings.json第7张

生产环境

生产环境我们通过修改服务器上的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配置文件

免责声明:文章转载自《.net core 多环境(开发和生产)配置appsettings.json》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇spring异常Unsatisfied dependency expressed through constructor parameter 0离线安装 Python三方包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

my live / PC GPU NVIDIA Quadro P1000 / Intel UHD Graphics 630 / Dell P2418HT / chumoping

s 问题1:Dell P2418HT显示器 +NVIDIA Quadro P1000 + Thinkcentre M920x + i9-9900 CPU ,显示器识别异常。 The current input tiiming os not supported by the monitor display. Please change your input...

EF core的原生SQL查询以及用EF core进行分页查询遇到的问题

在用.net core进行数据库访问,需要处理一些比较复杂的查询,就不得不用原生的SQL查询了,然而EF Core 和EF6 的原生sql查询存在很大的差异。 在EF6中我们用SqlQuery和ExecuteSqlCommand进行sql语句的执行,而在EF Core中我们则使用FromSql和ExecuteSqlCommand 一.ExecuteSqlC...

Linux下如何生成core dump 文件(解决segment fault段错误的问题)

Linux下的C程序常常会因为内存访问等原因造成segment fault(段错误),如果此时core dump 的功能是打开的,在运行我们的可执行程序时就会生成一个名为core的文件,然后我们就可以用gdb对core文件来进行调式,还原发生错误的堆栈情况,这对于我们调试bug非常有帮助。 1. 使用  ulimit -a 可以察看当前系统core文件的大...

asp.net core系列 30 EF管理数据库架构--必备知识 迁移

一.管理数据库架构概述          EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步。一是以 EF Core 模型为基准,二是以数据库为基准。            (1)如果希望以 EF Core 模型为准,请使用迁移。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与...

c# r3 inline hook

前言 老婆喜欢在QQ游戏玩拖拉机,且安装了一个记牌器小软件,打开的时候弹出几个IE页面加载很多广告,于是叫我去掉广告。想想可以用OD进行nop填充,也可以写api hook替换shellexecute函数的调用,以前也有见过有人使用hex editor修改shellexecute函数的,但搞了多年C#,其它很多原来就不熟悉的都忘记了,迫于无奈于是选择Api...

Hi3518EV300编译U-Boot和内核报错:loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt &amp;lt; (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)

下载Hi3518EV300的SDK后编译内核和U-boot,发现爆出如下错误: scripts/kconfig/conf --silentoldconfig Kconfig Aborted (core dumped) Aborted (core dumped) Aborted (core dumped) Aborted (core dumped) Abo...