.NET Core读取配置文件

 更新时间:2022年07月07日 07:30:40   作者:AZRNG  
这篇文章介绍了.NET Core读取配置文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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);

到此这篇关于.NET Core读取配置文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • WPF使用StackPanel栈面板布局

    WPF使用StackPanel栈面板布局

    这篇文章介绍了WPF使用StackPanel栈面板布局的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • ASP.NET笔记之 图库权限设置的方法

    ASP.NET笔记之 图库权限设置的方法

    本篇文章小编为大家介绍,ASP.NET笔记之 图库权限设置的方法。需要的朋友参考下
    2013-04-04
  • Asp.net SignalR 让实时通讯变得如此简单

    Asp.net SignalR 让实时通讯变得如此简单

    下面小编就为大家分享一篇Asp.net SignalR 让实时通讯变得如此简单,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧

    asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧

    asp.net下GDI+的一些常用应用(水印,文字,圆角处理)技巧...
    2007-03-03
  • 嵌套repeater示例分享

    嵌套repeater示例分享

    这篇文章主要介绍了嵌套repeater示例,代码简单,下面直接上代码,需要的朋友可以参考下
    2014-03-03
  • .Net遍历窗体上控件的方法

    .Net遍历窗体上控件的方法

    这篇文章主要介绍了.Net遍历窗体上控件的方法,通过foreach语句实现遍历窗体上的控件以及找出TextBox控件的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • .net core 3.1 Redis安装和简单使用

    .net core 3.1 Redis安装和简单使用

    本文主要介绍了.net core 3.1 Redis安装和简单使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • asp.net GridView中超链接的使用(带参数)

    asp.net GridView中超链接的使用(带参数)

    在GridView中,点击链接列跳转到指定页面的实现代码,需要的朋友可以参考下。
    2010-03-03
  • 防止重复提交 仅提交一次的终极绝杀技

    防止重复提交 仅提交一次的终极绝杀技

    防止重复提交,通用的思路,就是当用户点击提交按钮后,在浏览器中用JS将按钮disable掉,从而阻止用户继续点击该按钮,实现防止重复提交的目的。网上防止重复提交的文章已经不少了,为啥我还要写呢,显然我不是吃饱了撑的。。。
    2010-08-08
  • 作业调度框架Quartz.net用法详解

    作业调度框架Quartz.net用法详解

    本文详细讲解了作业调度框架Quartz.net的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论