本帖最后由 狗蛋 于 2023-7-7 20:35 编辑
ASP.NETCore项目默认的配置文件是appsettings.ison,创建项目时就会自动生成这个文件,我们可以将一些配置信息存放在这个配置文件中;
好处:当我们修改配置文件时,不在需要重启应用,可以实现热更新。
默认配置如下:
通过 IConfiguration 方式:
用一个路由终结点来演示:
app.MapGet("config", (IConfiguration configuration) => {
return configuration["msg"] + "_" + configurtion["Logging:LogLevel:Default"];
});
上述是通过IoC注入IConfiguration对象,我们就可以访问不同节点的配置了,如果是单层节点,通过 configuration["msg"] 的方式进行访间,如果是多层级,则通过configuration["Logging:LogLevel:Default"] 来访间
通过 GetValue 方法获取
app.MapGet("config", (IConfiguration configuration) => {
return configuration.GetValue<string>("msg") + "_" + configurtion["Logging:LogLevel:Default"];
});
注意:GetValue无法读取对象,会报异常
通过 GetSection 方法获取(可以读取对象)
app.MapGet("config", (IConfiguration configuration)=>{
return configuration.GetSection("msg").Value;
}
读取对象
app.MapGet("config", (IConfiguration configuration)=>{
return configuration.GetSection("Person").Get<User>();
}
使用委托来配置选项 读取对象配置
先定义一个实体
public class Persion{
public string Name{get; set;}
public string Age {get; set}
}
配置如下:
注册配置:
builder.Services.Configure<Person>(builder.Configuration.GetSection("Person"));
使用配置:
app.MapGet("config", (IOptions<Person> options)=>{
return $"{options.Value.Name}, {options.Value.Age}";
}
|