ASP.NET?Core配置設置之Configuration包
ASP.NET Core 中提供了一個Configuration 包,用以應用配置基于配置提供程序建立的鍵值對。這里以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用來配置數據源,IConfigurationRoot則提供統一的讀取操作。
數據源:
配置提供程序將配置數據從各種配置源讀取到鍵值對,它支持的配置方式比較多,常見的就有:
命令行參數
環(huán)境變量
內存中的 .NET 對象
設置文件(Ini、 xm、,Json)
自定義提供程序
基本上常用的配置數據源都支持了,支持多數據源配置,也支持自定義數據源,非常靈活而方便。具體的配置方式可以參考官方文檔ASP.NET Core 中的配置。
CreateDefaultBuilder
為了簡化配置,Asp.net core中提供了一個函數CreateDefaultBuilder隱式提供了對ConfigurationBuilder的調用,順序提供了對如下配置文件的配置加載:
appsettings.json。
appsettings.{Environment}.json。
應用在使用入口程序集的 Development 環(huán)境中運行時的機密管理器。
環(huán)境變量。
命令行參數
更多細節(jié)可以參考官方文檔:設置主機
讀取配置
前面的例子中演示了基本的讀取方式:
var value1 = config.GetValue<string>("key1");
var value2 = config.GetValue<int>("key2");除了這種方式外,也可以通過Bind方法按照對象的方式讀取:
class ConfigData
{
public string Key1 { get; set; }
public int Key2 { get; set; }
}
var cfgData = new ConfigData();
config.Bind(cfgData);另外,對于子節(jié)點的配置,也可以通過GetSection函數定位到子節(jié)點,然后按照前面的方式讀取,例如:
var value1 = config.GetSection("subsection").GetValue<string>("key1");
var cfgData = config.GetSection("subsection").Get<ConfigData>();參考文章
到此這篇關于ASP.NET Core配置設置之Configuration包的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
asp.net(c#)有關 Session 操作的幾個誤區(qū)
asp.net(c#)有關 Session 操作的幾個誤區(qū)...2007-06-06
asp.net生成高質量縮略圖通用函數(c#代碼),支持多種生成方式
這兩天正在研究報表中餅圖的繪圖方法,文章中的某些做法值得參考.2008-08-08
IIS處理Asp.net請求和Asp.net頁面生命周期說明
當一個客戶端頁面訪問IIS試圖獲取一些信息的時候,發(fā)生了什么事情?一個請求在通過了HTTP管道后又發(fā)生了什么?本文主要是描述這兩個過程,即IIS處理asp.net請求和asp.net的頁面生命周期。歡迎大家積極拍磚,共同學習,共同進步。2011-05-05
Asp.net中安全退出時清空Session或Cookie的實例代碼
網站中點擊退出,如果僅僅是重定向到登錄/出頁面,此時在瀏覽器地址欄中輸入登錄后的某個頁面地址如主頁,你會發(fā)現不用登錄就能訪問,這種退出并不安全了,下面通過本文給大家介紹安全退出時清空Session或Cookie的實例代碼2016-11-11

