.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=".\logs\stdout" hostingModel="inprocess" >
    <environmentVariables>
       <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
    </environmentVariables>
  </aspNetCore>

IIS發布配置不同的環境

對於 Windows IIS 部署: 將 <EnvironmentName> 屬性包含在發布配置文件 (.pubxml) 或項目文件中。 此方法在發布項目時設置 web.config 中的環境:
XML

<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

 

參考文獻

1. 在 ASP.NET Core 中使用多個環境

2. ASP.NET Core 根據環境變量支持多個 appsettings.json配置文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM