ASP.NET?Core配置設(shè)置之Configuration包
ASP.NET Core 中提供了一個Configuration 包,用以應(yīng)用配置基于配置提供程序建立的鍵值對。這里以json文件配置的方式,簡單的介紹一下它的用法。
首先定義一個配置文件appsettings.json:
{ "key1": "value1", "key2": -1, "subsection": { "key1": "value2", "key2": -5 } }
如下是基本的用法:
var configBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json"); var config = configBuilder.Build(); var value1 = config.GetValue<string>("key1"); var value2 = config.GetValue<int>("key2");
.net core將配置操作分布在ConfigurationBuilder和IConfigurationRoot兩個對象了,其中ConfigurationBuilder用來配置數(shù)據(jù)源,IConfigurationRoot則提供統(tǒng)一的讀取操作。
數(shù)據(jù)源:
配置提供程序?qū)⑴渲脭?shù)據(jù)從各種配置源讀取到鍵值對,它支持的配置方式比較多,常見的就有:
命令行參數(shù)
環(huán)境變量
內(nèi)存中的 .NET 對象
設(shè)置文件(Ini、 xm、,Json)
自定義提供程序
基本上常用的配置數(shù)據(jù)源都支持了,支持多數(shù)據(jù)源配置,也支持自定義數(shù)據(jù)源,非常靈活而方便。具體的配置方式可以參考官方文檔ASP.NET Core 中的配置。
CreateDefaultBuilder
為了簡化配置,Asp.net core中提供了一個函數(shù)CreateDefaultBuilder隱式提供了對ConfigurationBuilder的調(diào)用,順序提供了對如下配置文件的配置加載:
appsettings.json。
appsettings.{Environment}.json。
應(yīng)用在使用入口程序集的 Development 環(huán)境中運行時的機密管理器。
環(huán)境變量。
命令行參數(shù)
更多細(xì)節(jié)可以參考官方文檔:設(shè)置主機
讀取配置
前面的例子中演示了基本的讀取方式:
var value1 = config.GetValue<string>("key1"); var value2 = config.GetValue<int>("key2");
除了這種方式外,也可以通過Bind方法按照對象的方式讀?。?nbsp;
class ConfigData { public string Key1 { get; set; } public int Key2 { get; set; } } var cfgData = new ConfigData(); config.Bind(cfgData);
另外,對于子節(jié)點的配置,也可以通過GetSection函數(shù)定位到子節(jié)點,然后按照前面的方式讀取,例如:
var value1 = config.GetSection("subsection").GetValue<string>("key1"); var cfgData = config.GetSection("subsection").Get<ConfigData>();
參考文章
到此這篇關(guān)于ASP.NET Core配置設(shè)置之Configuration包的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.net中網(wǎng)站訪問量統(tǒng)計方法代碼
這篇文章介紹了ASP.net中網(wǎng)站訪問量統(tǒng)計方法代碼,有需要的朋友可以參考一下2013-11-11asp.net 2.0中利用Ajax2.0實現(xiàn)JSON傳送大量頁面數(shù)據(jù)
本人遇到一個程序頁面,要有很大量的數(shù)據(jù)進(jìn)行交互操作。2010-03-03Asp.net程序優(yōu)化js、css實現(xiàn)合并與壓縮的方法
這篇文章主要介紹了Asp.net程序優(yōu)化js、css實現(xiàn)合并與壓縮的方法,使用第三方組件實現(xiàn)訪問時將js與css文件壓縮并緩存在客戶端的效果,非常具有實用價值,需要的朋友可以參考下2014-12-123分鐘快速學(xué)會在ASP.NET Core MVC中如何使用Cookie
這篇文章主要給大家介紹了關(guān)于如何通過3分鐘快速學(xué)會在ASP.NET Core MVC中使用Cookie的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用ASP.NET具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12合并兩個DataSet的數(shù)據(jù)內(nèi)容的方法
合并兩個DataSet的數(shù)據(jù)內(nèi)容的方法,需要的朋友可以參考一下2013-03-03.net core利用orm如何操作mysql數(shù)據(jù)庫詳解
這篇文章主要給大家介紹了關(guān)于.net core利用orm如何操作mysql數(shù)據(jù)庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05