標籤:creat 注意 add div section variables 定義 [] 使用
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 配置