zoukankan      html  css  js  c++  java
  • asp.net core 配置

    
    
    ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML配置文件web.config,现在支持各种格式的配置,比以前灵活多了。
    
    
    支持一下几种:
    
    
    MemoryConfigurationProvider
    
    
    EnvironmentVariablesConfigurationProvider
    
    
    CommandLineConfigurationProvider
    
    
    JsonConfigurationProvider
    
    
    XmlConfiguationProvider
    
    
    IniConfigurationProvider
    
    
    自定义ConfigurationProvider
    
    
     
    
    
    今天我们看看JsonConfig文件的使用:
    
    
    Core中配置涉及的类结构
    
     
    
    
     
    
     
    
    ConfgurationSource:相当于配饰的数据源,可以是内存,可以是配置文件。
    
    ConfigurationBuilder :配饰数据源的组装车间,负责取出数据源供配置类消费Configuration。
    
    Configuration :配置数据的映射
    
     
    
    配置类定义:
    
     
    
    public class CompanyInfoOptions
    
    {
    
    public CompanyInfoOptions(IConfiguration config)
    
    {
    
    this.Name=config["name"];
    
    this.Address=config["address"];
    
    this.CreateDate = DateTime.Parse( config["createDate"]);
    
    }
    
    public String Name
    
    {
    
    get;
    
    set;
    
    }
    
     
    
    public String Address
    
    {
    
    get;
    
    set;
    
    }
    
     
    
    public DateTime CreateDate
    
    {
    
    get;
    
    set;
    
    }
    
    }
    
     
    VSCode 文件组织形式:
    
    
    {
    "companyInfo": {
    "Name": "hbb0b0",
    "address": "Xi'AN JinYeLu number6",
    "createDate": "2017/08/06"
    }
    }

    注意配置文件在运行目录,与以前配置不同的配置文件不用拷贝到Bin目录。

     
    
    Main中调用:
    
     
    
    class Program
    
    {
    
    //Section 节名称
    
    const string str_SectionCompanyInfo="companyInfo";
    
    static void Main(string[] args)
    
    {
    
    Console.WriteLine(Directory.GetCurrentDirectory());
    
    //ConfigtionBuilder初始化
    
    var config = new ConfigurationBuilder()
    
    .SetBasePath(Directory.GetCurrentDirectory())
    
    .AddJsonFile("companyinfo.json", optional:true,reloadOnChange:true)
    
    .Build();
    
    //初始化CompanyInfoOptions
    
    CompanyInfoOptions options= new CompanyInfoOptions(config.GetSection(str_SectionCompanyInfo));
    
     
    
    //输出
    
    Console.WriteLine($"name:{options.Name}");
    
    Console.WriteLine($"address:{options.Address}");
    
    Console.WriteLine($"createDate:{options.CreateDate.ToString()}");
    
    }
    
    }

  • 相关阅读:
    [导入]在.NET下如何实现密码Hash化
    [导入]强大的.NET反编译工具Reflector及插件
    [导入]XML数据岛(XML Data Island)
    验证视图状态 MAC 失败。处理办法
    ASP.NET格式化字符串
    .NET 开发框架技术资料搜集
    网页中图片大小自动调整三种方法
    用户 'azhk' 登录失败。原因: 未与信任 SQL Server 连接相关联。
    jstl及el表达式笔记
    杰普Core Java课程笔记1
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/7293966.html
Copyright © 2011-2022 走看看