在项目开发的过程当中,开发环境与生产环境的配置肯定是不一样的。拿个最简单的例子来说,比如连接字符串这种东西,开发环境肯定不能连生产数据库。在之前的话,这种情况基本靠准备两个同名的配置文件来进行处理,然后你在本地就使用本地的配置文件,生产环境就使用生产环境的配置文件,十分麻烦。
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”:“默认”, :“OnlyDefault OnlyDefault” }/* appsettings.Development.json */{ { “UserType”:“发展”, :“OnlyDevelopment OnlyDevelopment” }/* appsettings.Production.json */{ “UserType”:“生产”, :“OnlyProduction OnlyProduction” }/* appsettings.Staging.json */{ “UserType”:“暂存”, :“OnlyStaging OnlyStaging” }
官方说明地址:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments& # 63;视图=aspnetcore - 2.1,
, 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; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; configuration> & lt;位置路径=inheritInChildApplications=癴alse”比“。”; & lt; system.webServer> & lt; handlers> & lt;添加name=" aspNetCore路径=动词“*”==癆spNetCoreModule resourceType”=?”模块“不明”/比; & lt;/handlers> & lt; aspNetCore processPath=参数=癲otnet。\ WebCoreTest.Web。dll”stdoutLogEnabled=" false " stdoutLogFile=" \ logs \ stdout。”比; & lt; environmentVariables> & lt; environmentVariable name=" ASPNETCORE_ENVIRONMENT " value=" https://www.yisu.com/zixun/Development "/比; & lt;/environmentVariables> & lt;/aspNetCore> & lt;/system.webServer> & lt;/location> & lt;/configuration> & lt; !——ProjectGuid: 59584515 - 22 - df - 4551 - bfd5 a70baa85af16——在
到此这篇关于ASP。网络核心根据环境变量支持多个appsettings.json配置文件的文章就介绍到这了,更多相关ASP。净appsettings核心。json内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!