.Net Core配置文件读取整理
一 、配置文件说明
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 分页的问题
更多配置参考:http://www.cnblogs.com/artech/p/asp-net-core-config-01.html
.Net Core配置文件读取整理的更多相关文章
- .Net Core 配置文件读取 - IOptions、IOptionsMonitor、IOptionsSnapshot
原文链接:https://www.cnblogs.com/ysmc/p/16637781.html 众所周知,appsetting.json 配置文件是.Net 的重大革新之心,抛开了以前繁杂的xml ...
- net core体系-web应用程序-4net core2.0大白话带你入门-6asp.net core配置文件
asp.net core配置文件 读取配置文件 asp.net core使用appsettings.json代替传统.net framework的web.config中的<appSettin ...
- VS2012中,C# 配置文件读取 + C#多个工程共享共有变量 + 整理using语句
(一) C# 配置文件读取 C#工程可以自动生成配置文件,以便整个工程可以使用设置的配置进行后续的处理工作. 1. 首先,右键工程文件-->Properties -->settings-- ...
- ASP.NET Core开发-读取配置文件Configuration
ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML ...
- NET Core开发-读取配置文件Configuration
ASP.NET Core开发-读取配置文件Configuration ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配置系统已经和之前版本的ASP.NE ...
- [.NET Core] 简单读取 json 配置文件
简单读取 json 配置文件 背景 目前发现网上的 .NET Core 读取配置文件有点麻烦,自己想搞个简单点的. .NET Core 已经不使用之前的诸如 app.config 和 web.conf ...
- net core 小坑杂记之配置文件读取(不定期更新)
其实很早就想写了,原想等积累差不多了再写的,但是发现遇到一个当时记下效果会比较好,所以就不定期更新这个系列了,后面获取会整个整理一下. 此篇记载net core入门时踩的一些坑,网上教程太少了,也不规 ...
- 【NET Core】.NET Core中读取json配置文件
在.NET Framework框架下应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别用 Sy ...
- ASP.NET Core开发-读取配置文件Configuration appsettings.json
https://www.cnblogs.com/linezero/p/Configuration.html ASP.NET Core 是如何读取配置文件,今天我们来学习. ASP.NET Core的配 ...
随机推荐
- linux中如何清空一个文件的内容
方法1: echo "" > /www.jbxue.com /xxx.log 方法2: echo "" >> /www.jbxue.com / ...
- Django 浏览器打开警告Not Found: /favicon.ico (转)
Django 浏览器打开警告Not Found: /favicon.ico 初学Django 执行python manage.py runserver 0.0.0.0:8000 urls.py ...
- 附001.etcd配置文件详解
一 示例yml配置文件 # This is the configuration file for the etcd server. # Human-readable name for this m ...
- 谈 JavaScript 中的强制类型转换 (1. 基础篇)
1. 从基本包装类型讲起 讨论基本包装类型的前提是了解基本数据类型(也可以称为原始类型, 简单数据类型等).然后通过基本数据类型调用方法的行为, 引出基本包装类型的概念和作用. 1.1 基本数据类型 ...
- asp.net core 中的SignalR与web前端进行实时通信
一.介绍 SignalR是.net 开源库,用于构建需要实时进行用户交互和数据更新的web应用,如在线聊天,游戏,天气等实时应用程序,且简化了构建实时应用的过程,包括服务端库和js端库,继承了数种常见 ...
- jQuery方法实现
children 原生JavaScript中,如果希望找到某个元素的子元素,只能通过Node类型上的children方法一步一步获取.如 let li = document.querySelector ...
- BZOJ.3998.[TJOI2015]弦论(后缀自动机)
题目链接 \(Description\) 给定字符串S,求其第K小子串.(若T=0,不同位置的相同子串算1个:否则算作多个) \(Solution\) 建SAM,处理出对于每个节点,它和它的所有后继包 ...
- Linux下实现自动设置SSH代理
SSH的巨大价值体现在能够配置为代理服务器上.不像在Windows下每次还需要手动登录设置,Linux有很好的工具链能够实现自动设置SSH代理,就是expect和ssh的联合使用,再加上proxych ...
- zoj 3659 第37届ACM/ICPC 长春赛区现场赛E题 (并查集)
题意:给出一棵树,找出一个点,求出所有点到这个点的权值和最大,权值为路径上所有边权的最小值. 用神奇的并查集,把路按照权值从大到小排序,然后用类似Kruskal的方法不断的加入边. 对于要加入的一条路 ...
- git 用户名和密码保存
git config --global credential.helper store 输入一次后,后续不再需要输入用户名密码