ASP。净心如何根据环境变量支持多个appsettings.json配置文件

  介绍

这篇文章主要介绍了ASP。净心如何根据环境变量支持多个appsettings.json配置文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

<强>一、背景

在项目开发的过程当中,开发环境与生产环境的配置肯定是不一样的。拿个最简单的例子来说,比如连接字符串这种东西,开发环境肯定不能连生产数据库。在之前的话,这种情况基本靠准备两个同名的配置文件来进行处理,然后你在本地就使用本地的配置文件,生产环境就使用生产环境的配置文件,十分麻烦。

ASP。网络核心支持利用环境变量来动态配置JSON文件,下面就来看一下如何在项目中使用这样功能吧。

<强>二,准备工作

ASP。网络核心在应用启动时读取环境变量ASPNETCORE_ENVIRONMENT, ASPNETCORE_ENVIRONMENT可以设置任意值,但框架仅支持三个值:开发、Staging 和,生产,因此我们先在项目中添加appsettings.Development.json, appsettings.Production.json和appsettings.Staging.json以备用。

项目默认生成的appsettings.json用来存放公共配置,当我们设置发展环境时,最终的配置项是appsettings.Development.json和appsettings.json求并集的结果,若两文件有同名配置项则以appsettings.Development。json为准,其他环境同理。各json文件的配置项如下:

/* appsettings.json */{   ,“UserType":,“default"   ,“OnlyDefault":“OnlyDefault"   }/* appsettings.Development.json */{   {   ,“UserType":,“development"   ,“OnlyDevelopment":“OnlyDevelopment"   }/* appsettings.Production.json */{   ,“UserType":,“production"   ,“OnlyProduction":“OnlyProduction"   }/* appsettings.Staging.json */{   ,“UserType":,“staging"   ,“OnlyStaging":“OnlyStaging"   }

官方说明地址:https://docs.microsoft.com/zh cn/aspnet/core/fundamentals/environments?view=aspnetcore - 2.1,

<强>三,开发时设置环境变量

 ASP。净心如何根据环境变量支持多个appsettings.json配置文件

, ASPNETCORE_ENVIRONMENT设置为发展,那在和中调试的时候就会读取appsettings.Development.json的数据
, ASPNETCORE_ENVIRONMENT设置为生产,那在和中调试的时候就会读取appsettings.Production.json的数据

<强>四、发布后设置环境变量

无论,ASPNETCORE_ENVIRONMENT设置为开发、分期,生产,只要项目中有appsettings.Production.json,那项目发布后运行时默认会读取生产的配置。

无论,ASPNETCORE_ENVIRONMENT设置为开发、分期,生产,只要项目中没有appsettings.Production.json那项目发布后运行时就会仅读取appsettings.json的配置。

若想在发布后动态设置环境变量,可以通过修改web . config的方式来实现,核心项目中默认是没有web . config文件的,但是发布后会生成一个web . config文件,我们可以通过添加& lt; environmentVariable 在节点来设置环境变量:

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; configuration>   ,& lt;位置;路径=案删?inheritInChildApplications=癴alse"比;   & lt;才能system.webServer>   ,,& lt; handlers>   ,,,& lt; add  name=癮spNetCore",路径=?”,动词=?“,模块=癆spNetCoreModule", resourceType=癠nspecified",/比;   ,,& lt;/handlers>   ,,& lt; aspNetCore  processPath=癲otnet",参数=癨 WebCoreTest.Web.dll", stdoutLogEnabled=癴alse", stdoutLogFile=癨 logs \ stdout"比;   ,,,& lt; environmentVariables>   ,,,,& lt; environmentVariable  name=癆SPNETCORE_ENVIRONMENT",价值=https://www.yisu.com/zixun/"发展"/>             ASP。网是什么

ASP。网是开源,跨平台,高性能,轻量级的网络应用构建框架,常用于通过HTML, CSS, JavaScript以及服务器脚本来构建网页和网站。

感谢你能够认真阅读完这篇文章,希望小编分享”的ASP。净心如何根据环境变量支持多个appsettings.json配置文件”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

ASP。净心如何根据环境变量支持多个appsettings.json配置文件