任务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; }
    }
}
Class.cs
复制代码

 

新建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"
    }
  ]
}
json
复制代码

 

 

 

 

 

我们使用控制台的方式启动项目

 

 

输出结果

 

 

ClassNo:1ClassDesc:ASP.NET Core 101ClassDesc:3

 

 

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   高山-景行  阅读(660)  评论(0)    收藏  举报
编辑推荐:
· 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
点击右上角即可分享
微信分享提示