[Asp.Net Core]Asp.Net Core与配置系统的集成
Posted 厦门德仔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Asp.Net Core]Asp.Net Core与配置系统的集成相关的知识,希望对你有一定的参考价值。
Asp.net Core默认添加的配置提供者
1)加载现有的Iconfiguration
2)加载项目根目录下的appsettings.json
3)加载项目根目录下的appsettings.Enviroment
4)当程序运行在开发环境下,程序会加载“用户机密”配置
5)加载环境变量中的配置
6)加载命令行
配置的环境问题
- Why?开发环境,测试环境,生产环境需要进行不同的配置
- 运行环境:Asp.NET Core 会从环境变量中读取名字
ASP.NETCORE_ENVIRONMENT的值。
推荐值:
Development(开发环境),Staging(测试环境),Production(生产环境) - 读取方法:app.Enviroment.EnvironmentName,app.Environment.IsDevelopment()….
- 在Windows和VS(推荐开发时用)中设置环境变量的方法。
演示代码
[ApiController]
[Route("[controller]")]
public class TestController : Controller
[HttpGet]
public string Demo()
return Environment.GetEnvironmentVariable("dezai");
1.系统环境变量
修改环境变量时,因为变量是与进程相关。重新运行运用程序经常并没有改变读取环境变量不会是最新的,需要重新启动VS。
2. 项目调试配置
只需要重新启动程序
3.启动程序读取环境变量
Console.WriteLine(app.Environment.EnvironmentName);
Console.WriteLine(app.Environment.IsDevelopment());
Console.WriteLine(app.Environment.IsProduction());
4.Controller读取当前的配置
Environment 属于IWebHostEnvironment类型,所以只需要在控制器中注入IWebHostEnvironment。
private readonly IWebHostEnvironment webEnv;
public TestController(IWebHostEnvironment webEnv)
this.webEnv = webEnv;
[HttpGet]
public string Demo1()
return webEnv.EnvironmentName;
以上是关于[Asp.Net Core]Asp.Net Core与配置系统的集成的主要内容,如果未能解决你的问题,请参考以下文章