主页 > 开源代码  > 

ASP.NET配置文件多种方式读取

ASP.NET配置文件多种方式读取

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配置文件多种方式读取