Asp.NetCore_配置系统
配置系统
默认添加配置提供者
ASP.NET CORE默认添加的配置提供者:
1)加载现有的IConfiguration
2)加载项目根目录下的appsettings.json
3)加载项目根目录下的appsettings.{Environment}.json
4)当程序运行在开发环境在,程序会加载“用户机密”配置
5)加载环境变量中的配置
6)加载命令行中的配置
开发、测试、生产环境
不同的环境有不同的配置
运行环境:ASP.NET Core会从环境变量中读取名字为ASPNETCORE_ENVIRONMENT的值,推荐值:Development、Staging、Production。
读取方法:app.Environment.EnvironmentName、app.Environment.IsDevelopment()……
在windows和vs中设置环境变量的方法。
机密信息
1、把不方便放到appsetting.json中的机密信息放到一个不在项目中的json文件中。
2、在ASP.NET Core项目上单击鼠标右键,选择【管理用户机密】。
3、secrets.json文件和项目通过csproj文件中的<UserSecretsId>建立关系。
注意事项:
机密信息仅供开发人员使用。
仍然是明文存储,如果不想被人看到可通过Azure Key Vault、Zack.AnyDBConfigProvider等,但是无法完全避免。
如果因为重装、新员工等原因导致secrets.js重建,就要重新配置,如果影响大的话,还是用集中式配置服务器。
配置系统的使用
其实没必要看我的,直接看文档就行。
1 | //Program.cs |
1 | //MyConfig.json |
1 | //ConfigController.cs |