日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

.NET?Core讀取配置文件_實用技巧

作者:AZRNG ? 更新時間: 2022-08-29 編程語言

1. 說明

默認情況下讀取配置Configuration的默認優先級:ConfigureAppConfiguration(自定義讀取)>CommandLine(命令行參數)>Environment(環境變量)>appsetting.json(默認配置文件)>UseSetting的順序

原因:讀取配置的順序是后來者居上模式,后來注冊的會優先被讀取到。

2. 獲取配置

2.1 獲取單個項

//值是數組
 var a0 = Configuration.GetSection("RabbitMQ:Hosts").Get<string[]>();
//獲取數組第一個
 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));
//獲取數據
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);

原文鏈接:https://www.cnblogs.com/azrng/p/14735952.html

欄目分類
最近更新