.NET Core讀取配置文件
1. 說明
默認(rèn)情況下讀取配置Configuration的默認(rèn)優(yōu)先級:ConfigureAppConfiguration(自定義讀取)>CommandLine(命令行參數(shù))>Environment(環(huán)境變量)>appsetting.json(默認(rèn)配置文件)>UseSetting的順序
原因:讀取配置的順序是后來者居上模式,后來注冊的會優(yōu)先被讀取到。
2. 獲取配置
2.1 獲取單個項
//值是數(shù)組
var a0 = Configuration.GetSection("RabbitMQ:Hosts").Get<string[]>();
//獲取數(shù)組第一個
var a0 = Configuration["RabbitMQ:Hosts:0"];
//值是int類型
var a1 = Configuration.GetValue<int>("RabbitMQ:Port");
//值是字符串
var a2 = Configuration.GetValue<string>("RabbitMQ:UserName");
var a2 = Configuration["RabbitMQ:UserName"];2.2 映射項到模型類
模型類
public class RabbitMQConfig
{
public const string RabbitMQ = "RabbitMQ";
public string[] Hosts { get; set; }
public int Port { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string VirtualHost { get; set; }
}appsettings
"RabbitMQ": {
"Hosts": [ "xxx.xxx.xxx.xxx" ],
"Port": 5672,
"UserName": "admin",
"Password": "xxxxxx",
"VirtualHost": "myQueue"
}2.2.1 注入模型類
//startup配置
services.Configure<RabbitMQConfig>(Configuration.GetSection(RabbitMQConfig.RabbitMQ));
//獲取數(shù)據(jù)
private readonly RabbitMQConfig _rabbitMQConfig;
public WeatherForecastController(IOptions<RabbitMQConfig> options)
{
_rabbitMQConfig = options.Value;
}2.2.2 映射項到模型類
var info = new RabbitMQConfig(); Configuration.Bind(RabbitMQConfig.RabbitMQ, info); //or Configuration.GetSection(RabbitMQConfig.RabbitMQ).Bind(info);
到此這篇關(guān)于.NET Core讀取配置文件的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
aspx中的mysql操作類sqldatasource使用示例分享
服務(wù)器裝了mysql odbc驅(qū)動,想在那個iis上操作另一個服務(wù)器的mysql,找到個.net的sqldatasource類可以操作mysql,下在把使用方法分享一下2014-01-01
ASP.NET Core中的Razor頁面實現(xiàn)路由功能
本文詳細(xì)講解了ASP.NET Core中的Razor頁面實現(xiàn)路由功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02
ASP.NET Core使用自定義驗證屬性控制訪問權(quán)限詳解
這篇文章主要給大家介紹了關(guān)于ASP.NET Core使用自定義驗證屬性控制訪問權(quán)限的相關(guān)資料,這是我們在日常工作中經(jīng)常會遇到的一個需求,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-10-10
Visual Studio 2017新版發(fā)布 更強大!
Visual Studio 2017新版發(fā)布 更強大!對Visual Studio 2017感興趣的小伙伴們可以參考一下2017-05-05
.NET 6開發(fā)TodoList應(yīng)用引入數(shù)據(jù)存儲
這篇文章主要介紹了.NET 6開發(fā)TodoList應(yīng)用引入數(shù)據(jù)存儲,本篇文章僅完成了數(shù)據(jù)存儲服務(wù)的配置工作,目前還沒有添加任何實體對象和數(shù)據(jù)庫表定義,所以暫時沒有可視化的驗證,僅我們可以運行程序看我們的配置是否成功:下面來看詳細(xì)內(nèi)容吧2021-12-12

