任务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
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 7 个最近很火的开源项目「GitHub 热点速览」
· DeepSeekV3:写代码很强了
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提
· 让 AI 对接 MySQL 数据库实现快速问答对话
2014-02-11 arcgis for silverlight 相关学习资料整理
2014-02-11 (转)ASP.NET 4.0 尚未在 Web 服务器上注册
2013-02-11 可代替SQL Server中Like语句的用法
2013-02-11 Detect IFrame Load Event 探索Iframe的加载事件
2013-02-11 How To Change Collapse Tool Position 改变Panel收缩按钮的位置
2013-02-11 ExtJS4 Panel中嵌套PDF