Aso.Net Core 的配置系统Configuration
时间:2019-11-30
本文章向大家介绍Aso.Net Core 的配置系统Configuration,主要包括Aso.Net Core 的配置系统Configuration使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Aso.Net Core 的配置系统Configuration
1.以前的配置文件格式为XML
2.新版的配置文件格式支持 { json ,xml, ini, memory, command, env..... }
01.Json文件的弱类型方式读取
Json文件 【Microsoft.Extensions.Configuration.Json】
添加配置文件json文件,并设置内容
{ "DataBase": { "SqlServer": { "ConnectionString": "server=.;database=testdb;uid=sa;pwd=123;" }, "MySql": { "IpAddress": "127.0.0.1", "port": 3306 } }, "endArray": [ { "endId": 20 }, { "endId": "30" } ] }
获取数据
private static void Main(string[] args) { IConfiguration configuration = new ConfigurationBuilder() .SetBasePath(Environment.CurrentDirectory) .AddJsonFile("AppSettings.json",true,true) .AddInMemoryCollection() .Build(); var str1 = configuration["DataBase:SqlServer:ConnectionString"]; var str2 = configuration["endArray:0:endId"]; Console.WriteLine($"{str1}+---{str2}"); }
02.Json文件的强类型获取方式
1.添加引用【Microsoft.Extensions.Configuration.Binder】
2.GetValue方式获取
private static void Main(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("AppSettings.json",true,true)
.AddInMemoryCollection()
.Build();
//GetValue获取方式
int val = configuration.GetValue<int>("endArray:0:endId");
Console.WriteLine(val);
}
3.实体映射方式
private static void Main(string[] args)
{
IConfiguration configuration = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("AppSettings.json",true,true)
.AddInMemoryCollection()
.Build();
//Bind 获取方式
Root root=new Root();
configuration.Bind(root);
var ip = root.DataBase.MySql.IpAddress;
var entid = root.endArray[0].endId;
Console.WriteLine($"{ip}{entid}");
//Get<T> 获取
var root = configuration.Get<Root>();
var ip = root.DataBase.MySql.IpAddress;
var entid = root.endArray[0].endId;
Console.WriteLine($"{ip}{entid}");
}
//这里是实体类
public class SqlServer
{
/// <summary>
///
/// </summary>
public string ConnectionString { get; set; }
}
public class MySql
{
/// <summary>
///
/// </summary>
public string IpAddress { get; set; }
/// <summary>
///
/// </summary>
public int port { get; set; }
}
public class DataBase
{
/// <summary>
///
/// </summary>
public SqlServer SqlServer { get; set; }
/// <summary>
///
/// </summary>
public MySql MySql { get; set; }
}
public class EndArray
{
/// <summary>
///
/// </summary>
public int endId { get; set; }
}
public class Root
{
/// <summary>
///
/// </summary>
public DataBase DataBase { get; set; }
/// <summary>
///
/// </summary>
public List<EndArray> endArray { get; set; }
}
原文地址:https://www.cnblogs.com/Lueng/p/11963819.html
- day8、 显示Linux路由表、各列信息
- day9、用户登陆出现-bash-4.1$错误的原因及解决方法
- jboss eap 6.3 域(Domain)模式配置
- 揭穿数据分析的12个神话
- jboss eap 6.3 集群(cluster)配置
- Django中Q查询及Q()对象
- jboss eap 6.3 集群(cluster)-Session 复制(Replication)
- JSP中的Servlet及Filter
- Django ORM详解
- Web前端培训:怎样成长为一个优秀的Web 前端开发工程师?
- Git操作
- 人工智能做的肉,你想吃吗?
- 二、爬虫基础库
- 鱼与熊掌兼得,既要云服务创新也要管理传统网络
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java生成随机姓名、性别和年龄
- 商业数据分析从入门到入职(8)Python模块、文件IO和面向对象
- 7.13论坛常见问题以及解决办法
- 移植SDL到JZ2440显示BMP图片
- Vue图片验证码-自定义组件高级版
- Angular页面调试一个有用的小技巧 - normalizeDebugBindingName和normalizeDebugBindingValue
- 19个JS超有用的简写技巧
- 【教程】移植web server到Ubuntu就是这么简单!
- 为什么采用Proxy重构响应系统 | Vue3源码系列
- 制作Linux嵌入式系统开机LOGO(图片)
- R语言奇淫巧技之pdftools包
- 14个Spring MVC超实用技巧!
- 想要成为前端Star 吗?一首歌时间将React / Vue 应用Docker 化
- 初识Pandas
- 【教程】从零制作文件系统到jz2440,使其支持telnet , ftp 和tftp