• .net core 学习 读取配置文件


    在空项目中是没有配置文件的,首先要新建一个,配置文件内容如下,下面来读取各个内容

    {
      "ConnectionStrings": {
        "DefaultConnection": "Server=(localdb)\MSSQLLocalDB;Database=_CHANGE_ME;Trusted_Connection=True;MultipleActiveResultSets=true",
      },
      "Name": "张三",
      "Person": {
        "Name": "张三",
        "Age": 18
      },
      "Persons": [
        {
          "Name": "张三",
          "Age": 18
        },
        {
          "Name": "李四",
          "Age": 18
        }
      ]
    }

    有时会出现中文读取乱码,用计事本打开,然后另存为 utf-8 就可以了

    ConfigurationBuilder configurationBuilder =new ConfigurationBuilder();
    //配置文件路径
    configurationBuilder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json");
    var configuration = configurationBuilder.Build();
                
    //读取连接字符串
    var value1= configuration.GetConnectionString("DefaultConnection");
    
    //读取自定义内容
    var value2 = configuration.GetValue<string>("Name");
    var value3 = configuration.GetValue<string>("Person:Name");
    var value4 = configuration.GetValue<int>("Person:Age");
    var value5 = configuration.GetValue<string>("Persons:0:Name");
    var value6 = configuration.GetValue<int>("Persons:0:Age");

    索引不是中括号感觉有点不适应

    上面是读取基础值,其实还可以将 Person 和 Persons 读取为对象,不过写法要改下,首先再 Startup 类中添加一个构造函数和字段

    public Startup(IConfiguration _configuration)
    {
       Configuration = _configuration;
    }
    
    public IConfiguration Configuration;

    然后在 ConfigureServices 方法添加如下

    services.Configure<Person>(Configuration.GetSection("Person"));
    services.Configure<List<Person>>(Configuration.GetSection("Persons"));

    之后是控制器中

    private Person person;
    private List<Person> persons;
    public ConfigurationController(IOptions<Person> _person, IOptions<List<Person>> _persons)
    {
        person = _person.Value;
        persons = _persons.Value;
    }

    以上就是 asp.net core 读取配置文件的方法

  • 相关阅读:
    如何用meavn构建mahout项目
    项目分析:对于7种图书推荐算法的组合评测
    项目实战:Mahout构建图书推荐系统
    Mahout推荐算法API详解
    9. Palindrome Number
    26. Remove Duplicates from Sorted Array
    575. Distribute Candies
    单链表的逆置
    回文串的判断
    回文判断(一个栈是不是回文)
  • 原文地址:https://www.cnblogs.com/zhouyg2017/p/11979810.html
Copyright © 2020-2023  润新知