一 、配置文件说明

1.配置,主要是 指在程序中使用的一些特殊参数,并且大多数 仅在程序启动的之后指定不需要修改。

2.在以前.Net项目中配置文件主要指app.config或web.config,但是在.Net Core中对 配置 进行 了更 广泛的定义。

从现在的版本来看 使用json作为配置优先使用 。

MemoryConfigurationProvider
EnvironmentVariablesConfigurationProvider
CommandLineConfigurationProvider
JsonConfigurationProvider
XmlConfiguationProvider
IniConfigurationProvider
自定义ConfigurationProvider

3.配置的树结构主要 有Configuration、ConfigurationProvider和ConfigurationBuilder三个核心 对象。

Configuration反之实现 IConfiguration接口的对象用于对接点的获取 ,例如:ConfigurationRoot,ConfigurationSection.

ConfigurationProvider是对实现IConfigurationProvider接口的所有类型及其 对象的统称 ,用于 将原始结构转换成物理结构。

ConfigurationBuilder泛指实现了IConfigurationBuilder接口 的类型及其对象,它在配置 类型中就是 利用 注册的 ConfigurationProvider提取转换成数据字典 的配置并创建 对应的Configuration对象,具体来说 创建的是一个 实现 配置树的ConfigurationRoot对象 。

4.新版的配置系统,提供了配置同步功能等

二、Json配置文件读取示例

1.对json配置文件读取操作依赖的Nuget包

Install-Package Microsoft.Extensions.Configuration
Install-Package Microsoft.Extensions.Configuration.Json

2.加载配置文件,创建Configuration对象

IConfigurationBuilder builder = new ConfigurationBuilder();
//不指定配置文件路径,则默认是 当前Dll的目录
//builder.SetBasePath(@"K:\CoreSolution\ConfigOne\ConfigOne");
/*
* 还有 一种处理方式就是,将本文件每次 生成是输出到生成文件中
* 右键文件属性将不复制改成‘始终复制’
*/
builder.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
//获取根节点
IConfigurationRoot Configuration = builder.Build();

3.专门用于配置数据库链接字符串

//转门用来配置链接字符串的节点 ConnectionStrings
string conStrings = Configuration.GetConnectionString("SqlServerConnection");
Console.WriteLine(conStrings);
{
"ConnectionStrings": {
"SqlServerConnection": "Server=.;Database=db_wkmvc;User ID=sa_wkmvc;Password=123456;"
},
"Name": "test"
}

4.获取节点值

    //获取节点值
IConfigurationSection section1 = Configuration.GetSection("Name");
Console.WriteLine(section1.Value);
//获取节点 对象
IConfigurationSection section2 = Configuration.GetSection("ConnectionStrings");
IConfigurationSection section3 = section2.GetSection("SqlServerConnection");
Console.WriteLine(section3.Value); //如果节点不存在则返回空字符串
IConfigurationSection section4 = Configuration.GetSection("NoName");
Console.WriteLine(section4.Value);
section4.Value = "张三丰";

更多:

EF Core 1.0 和 SQLServer 2008 分页的问题

Asp.Net Core 发布到IIS

.Net Core邮件发送之MailKit

更多配置参考:http://www.cnblogs.com/artech/p/asp-net-core-config-01.html

.Net Core配置文件读取整理的更多相关文章

  1. .Net Core 配置文件读取 - IOptions、IOptionsMonitor、IOptionsSnapshot

    原文链接:https://www.cnblogs.com/ysmc/p/16637781.html 众所周知,appsetting.json 配置文件是.Net 的重大革新之心,抛开了以前繁杂的xml ...

  2. net core体系-web应用程序-4net core2.0大白话带你入门-6asp.net core配置文件

    asp.net core配置文件   读取配置文件 asp.net core使用appsettings.json代替传统.net framework的web.config中的<appSettin ...

  3. VS2012中,C# 配置文件读取 + C#多个工程共享共有变量 + 整理using语句

    (一) C# 配置文件读取 C#工程可以自动生成配置文件,以便整个工程可以使用设置的配置进行后续的处理工作. 1. 首先,右键工程文件-->Properties -->settings-- ...

  4. ASP.NET Core开发-读取配置文件Configuration

    ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...

  5. NET Core开发-读取配置文件Configuration

    ASP.NET Core开发-读取配置文件Configuration   ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NE ...

  6. [.NET Core] 简单读取 json 配置文件

    简单读取 json 配置文件 背景 目前发现网上的 .NET Core 读取配置文件有点麻烦,自己想搞个简单点的. .NET Core 已经不使用之前的诸如 app.config 和 web.conf ...

  7. net core 小坑杂记之配置文件读取(不定期更新)

    其实很早就想写了,原想等积累差不多了再写的,但是发现遇到一个当时记下效果会比较好,所以就不定期更新这个系列了,后面获取会整个整理一下. 此篇记载net core入门时踩的一些坑,网上教程太少了,也不规 ...

  8. 【NET Core】.NET Core中读取json配置文件

    在.NET Framework框架下应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别用 Sy ...

  9. ASP.NET Core开发-读取配置文件Configuration appsettings.json

    https://www.cnblogs.com/linezero/p/Configuration.html ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配 ...

随机推荐

  1. 【Java】 子字符串的比较(substring的==与equal()使用)

    public class Test { public static void main(String[] args) { String str1="good"; System.ou ...

  2. PowerShell 中使用 mvn 编译报错 Unknown lifecycle phase ".test.skip=true". 解决办法

    nknown lifecycle phase “–Dmaven.test.skip=true”. You must specify a valid lifecycle phase or a goal ...

  3. 004.KVM日常管理1

    一 常用命令 1.1 查看虚机列表及状态 [root@kvm-host ~]# virsh list --all 1.2 连接虚机 [root@kvm-host ~]# virsh console v ...

  4. 用yum安装JDK

    用yum安装JDK 1.查看yum库中都有哪些jdk版本(暂时只发现了openjdk) [root@localhost ~]# yum search java|grep jdkldapjdk-java ...

  5. 【11.1校内测试】【快速幂DP】【带权并查集】【模拟】

    Solution $jzy$大佬用了给的原根的信息,加上矩阵快速幂150行QAQ 然而$yuli$大佬的做法不仅好懂,代码只有50行! 快速幂的思想,把m看成要组成的区间总长度,每次将两段组合得到新的 ...

  6. bzoj 4036 集合幂级数

    集合幂级数其实就是一种集合到数的映射,并且我们针对集合的一些操作(or  xor and specil or )为这种映射定义运算.其中一些东西可以通过某些手段将其复杂度降低. orz vfk /** ...

  7. Xtreme9.0 - Car Spark 动态规划

    Car Spark 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/car-spark Descr ...

  8. 马士兵hadoop第五课:java开发Map/Reduce

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  9. Linux下Shell函数返回值实现种类

    shell在执行的时候是顺序执行的,也不存在什么多线程什么的. 一下是实现种类: 1.全局 g_result="" function testFunc() { g_result=' ...

  10. AngularJS路由系列(3)-- UI-Router初体验

    本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新. ...