任务12:Bind读取配置到C#实例
将json文件的配置转换成C#的实体
新建项目:
OptionsBindSample
忘了把 https去掉了。下次记住了 就可以了。
注入Configuration
由于我们要用Configuration所以要用到依赖注入。
我们可以使用IConfiguration的接口。
注意引入命名空间:
using Microsoft.Extensions.Configuration;
这里调用configuration的bind方法。可以传入一个对象将我们配置信息和对象映射起来。
新建Class的班级类
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace OptionsBindSample { public class Class { public int ClassNo { get; set; } public string ClassDesc { get; set; } public List<Student> Students { get; set; } } public class Student { public string Name { get; set; } public string Age { get; set; } } }
新建appsetting.json文件
我们在新建项目的时候,默认自带了这个appsettings.json文件了。
默认webhost启动的时候是没有添加任何配置和启动相关的
我们默认host启动会读取appsetting.json读取我们的configuration里面去。
只要你的名字叫做appsettings.json
它会通过CreateDefaultBuilder这个方法,会把它加载到我们的configuration里面
把之前的json文件拷贝过去
{ "ClassNo": "1", "ClassDesc": "ASP.NET Core 101", "Students": [ { "name": "jesse", "age": "13" }, { "name": "jim", "age": "18" }, { "name": "lisa", "age": "22" } ] }
我们使用控制台的方式启动项目
输出结果
ClassNo:1ClassDesc:ASP.NET Core 101ClassDesc:3