ASP.NET Core项⽬默认的配置⽂件是appsettings.json,创建项⽬时就会⾃动⽣成这个文件,我们可以将⼀些配置信息存放在这个配置⽂件中,这样做的好处是当我们修改配置⽂件 时,不在需要重启应⽤,可以实现热更新。
- {
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "msg": "hello world"
- }
复制代码
IConfiguration
个路由终结点来演⽰如何读取这个配置
- app.MapGet("config", (IConfiguration configuration) =>
- {
- return configuration["msg"] + "_" +
- configuration["Logging:LogLevel:Default"];
- });
复制代码
通过IOC注⼊IConfiguration对象,我们就可以访问不同节点的配置了,如果是单层节点, 通过configuration[“msg”]的⽅式进⾏访问,如果是多层级,则通过 configuration[“Logging:LogLevel:Default”]来访问
通过GetValue方法获取
- app.MapGet("config", (IConfiguration configuration) =>
- {
- return configuration.GetValue<string>("msg");
- });
复制代码
GetValue⽆法读取对象,会报异常
通过GetSection方法获取
- app.MapGet("config", (IConfiguration configuration) =>
- {
- return configuration.GetSection("msg").Value;
- });
复制代码
读取对象
- app.MapGet("config", (IConfiguration configuration) =>
- {
- return configuration.GetSection("Person").Get<Person>();
- });
复制代码
使用委托来配置选项
先定义⼀个实体:
- public class Person
- {
- public string Name { get;set; }
- public int Age { get;set; }
- }
复制代码
配置如下:
- "Person": {
- "Name": "张三",
- "Age": 18
- }
复制代码
注册配置:
- builder.Services.Configure<Person>
- (builder.Configuration.GetSection("Person"));
复制代码
使⽤配置:
- app.MapGet("config", (IOptions<Person> options) =>
- {
- return $"{options.Value.Name},{options.Value.Age}";
- });
复制代码
到此这篇关于ASP.NET读取配置文件的多种方式详解的文章就介绍到这了,更多相关ASP.NET读取配置文件内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯! 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |