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)境中運(yùn)行時的機(jī)密管理器。
環(huán)境變量。
命令行參數(shù)
更多細(xì)節(jié)可以參考官方文檔:設(shè)置主機(jī)
讀取配置
前面的例子中演示了基本的讀取方式:
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é)點(diǎn)的配置,也可以通過GetSection函數(shù)定位到子節(jié)點(diǎn),然后按照前面的方式讀取,例如:
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(c#)有關(guān) Session 操作的幾個誤區(qū)
asp.net(c#)有關(guān) Session 操作的幾個誤區(qū)...2007-06-06
asp.net生成高質(zhì)量縮略圖通用函數(shù)(c#代碼),支持多種生成方式
這兩天正在研究報表中餅圖的繪圖方法,文章中的某些做法值得參考.2008-08-08
用ASP.NET做的個性化的郵件發(fā)送系統(tǒng)
如果要你用ASP來做一個郵件發(fā)送系統(tǒng),你一定認(rèn)為這是一個比較復(fù)雜的工作。其實(shí)也的確是這樣。但當(dāng)他的后繼產(chǎn)品ASP.NET被推出以后,他的強(qiáng)大功能就使的這一切就變的相對簡單了。真的這樣神奇么?我們就通過ASP.NET做一個郵件發(fā)送系統(tǒng),看看到底有什么奧秘,是不是真的簡單。2008-02-02
IIS處理Asp.net請求和Asp.net頁面生命周期說明
當(dāng)一個客戶端頁面訪問IIS試圖獲取一些信息的時候,發(fā)生了什么事情?一個請求在通過了HTTP管道后又發(fā)生了什么?本文主要是描述這兩個過程,即IIS處理asp.net請求和asp.net的頁面生命周期。歡迎大家積極拍磚,共同學(xué)習(xí),共同進(jìn)步。2011-05-05
Asp.net中安全退出時清空Session或Cookie的實(shí)例代碼
網(wǎng)站中點(diǎn)擊退出,如果僅僅是重定向到登錄/出頁面,此時在瀏覽器地址欄中輸入登錄后的某個頁面地址如主頁,你會發(fā)現(xiàn)不用登錄就能訪問,這種退出并不安全了,下面通過本文給大家介紹安全退出時清空Session或Cookie的實(shí)例代碼2016-11-11
ASP.NET Cookie 操作實(shí)現(xiàn)
本節(jié)中的主題描述如何在 ASP.NET Web 應(yīng)用程序中創(chuàng)建 Cookie。Cookie 是一些小的文本文件,服務(wù)器和瀏覽器在收到每個頁請求時交換它們,您還可以使用這些小文本文件來存儲幫助針對每個用戶自定義您的應(yīng)用程序的信息。2009-11-11

