目錄
- ASP.NET Core 默認配置提供者
- 配置環(huán)境
- 用戶機密信息
ASP.NET Core 默認配置提供者
- 加載現(xiàn)有的?
IConfiguration
- 加載項目根目錄下的?
appsettings.json
- 加載項目根目錄下的?
appsettings.{Environment}.json
- 當程序運行在開發(fā)環(huán)境下,程序會加載 “用戶機密” 配置
- 加載環(huán)境變量中的配置
- 加載命令行中的配置
配置環(huán)境
- 開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境需要進行不同配置
運行環(huán)境:ASP.NET Core 會從環(huán)境變量中讀取名字為
ASPNETCORE_ENVIRONMENT
的值
推薦值:
?Development —— 開發(fā)環(huán)境
?Staging —— 測試環(huán)境
?Production —— 生產(chǎn)環(huán)境
- 讀取方式:
app.Environment.EnvironmentName
、app.Environment.IsDevelopment()
等
讀取系統(tǒng)環(huán)境變量:
Environment.GetEnvironmentVariable("EnvironmentName");
讀取系統(tǒng)環(huán)境變量,需要重啟 Visual Studio 重啟項目是不行的,因為環(huán)境變量的讀取需要通過父進程傳遞給子進程,重啟 VS 是重啟進程的操作。
Visual Studio 快速配置開發(fā)環(huán)境的環(huán)境變量
在 Controller 中讀取環(huán)境變量
在 Controller 中讀取環(huán)境變量需要注入
IWebHostEnvironment
public class TestController : ControllerBase { private readonly IWebHostEnvironment _env; [HttpGet] public string Test() { return _env.EnvironmentName; } }
用戶機密信息
- 如何創(chuàng)建用戶機密:項目右鍵菜單 ? 管理用戶機密
- 創(chuàng)建之后,會在 csproject 文件中添加?
UserSecretsID
?的節(jié)點 - 用戶機密文件是存儲在,C盤?
AppData/Roaming/Microsoft/SuerSecrets
?文件夾
用戶機密的劣勢:
共開發(fā)人員使用,不適合生產(chǎn)環(huán)境中使用文本信息為明文,非加密重裝操作系統(tǒng)、新員工等導致 secrets.json 重建,就需要重新配置,比較麻煩
原文地址:http://www.ythuaji.com.cn/uploads/allimg/vq2521qlnxs