zoukankan      html  css  js  c++  java
  • 任务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
  • 相关阅读:
    【根据条件添加属性】vue页面标签根据条件添加属性
    serialVersionUID
    onsubmit="return navTabSearch(this);"
    MyEclipse改变项目的编码方式
    Tomcat端口被占用
    可拖动图层
    顶部可以折叠的菜单工具栏
    转---- javascript prototype介绍的文章
    网页右侧弹出有缓冲效果的工具栏
    根据时间改变背景
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/10362252.html
Copyright © 2011-2022 走看看