首页 > 代码库 > asp.net core 配置

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();//初始化CompanyInfoOptionsCompanyInfoOptions options= new CompanyInfoOptions(config.GetSection(str_SectionCompanyInfo)); //输出
Console.WriteLine($"name:{options.Name}");Console.WriteLine($"address:{options.Address}");Console.WriteLine($"createDate:{options.CreateDate.ToString()}");}}

技术分享

 

 

asp.net core 配置