ASP.NET CORE 配置管理
配置管理简单例子(添加内存配置)
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic; namespace ConsoleCore
{
class Program
{
static void Main(string[] args)
{
var dic = new Dictionary<string, string>()
{
{ "name","wolf"},
{ "age",""},
}; var builder = new ConfigurationBuilder()
.AddInMemoryCollection(dic);
var configuration = builder.Build(); Console.WriteLine($"name:{configuration["name"]}");
Console.WriteLine($"age:{configuration["age"]}");
Console.ReadLine();
}
}
}

Json文件配置
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic; namespace ConsoleCore
{
class Program
{
static void Main(string[] args)
{
var dic = new Dictionary<string, string>()
{
{ "name","wolf"},
{ "age",""},
}; var builder = new ConfigurationBuilder()
.AddInMemoryCollection(dic)
.AddJsonFile("wolf.json");
var configuration = builder.Build();
//key相同后面覆盖前面,还有configuration格式介绍
Console.WriteLine($"name:{configuration["name"]}");
Console.WriteLine($"age:{configuration["age"]}");
Console.WriteLine($"age:{configuration["list::name"]}");
Console.WriteLine($"age:{configuration["list::age"]}");
Console.WriteLine($"age:{configuration["list::name"]}");
Console.WriteLine($"age:{configuration["list::age"]}");
Console.ReadLine();
}
}
}
{
"name": "wolf1",
"age": 30,
"list": [
{
"name": "wolf2",
"age": 35
},
{
"name": "wolf3",
"age": 37
}
]
}

Bind读取配置到C#实例
using ConsoleCore;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic; namespace ConsoleCore
{
class Program
{
static void Main(string[] args)
{
var dic = new Dictionary<string, string>()
{
{ "name","wolf"},
{ "age",""},
}; var builder = new ConfigurationBuilder()
.AddInMemoryCollection(dic)
.AddJsonFile("wolf.json");
var configuration = builder.Build();
var aaa = new AAA();
configuration.Bind(aaa);
Console.WriteLine($"name:{aaa.list[0].name}");
Console.WriteLine($"age:{aaa.list[0].age}");
Console.ReadLine();
}
} public class AA
{
public string name { get; set; }
public string age { get; set; }
} public class AAA
{
public string name { get; set; }
public string age { get; set; } public List<AA> list { get; set; }
}
}

在Core MVC内使用Options


配置热更新

在视图中依赖注入Options


ASP.NET CORE 配置管理的更多相关文章
- ASP.NET Core 中的配置
目录 以键-值对的形式读取配置 多环境配置 读取结构化的配置数据 参考 .NET Core 定义配置的方式不同于之前 NET 版本,之前是依赖于 System.Configuration 的 app. ...
- ASP.NET Core快速入门学习笔记(第2章:配置管理)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文本到c#对象实例的 ...
- ASP.NET Core 1.0 Configuration 配置管理
documentation: https://docs.asp.net/en/latest/fundamentals/configuration.html github: https://github ...
- ASP.NET Core快速入门(第2章:配置管理)- 学习笔记(转载)
原文地址:https://mp.weixin.qq.com/s?__biz=MjM5NjMzMzE2MA==&mid=2451733443&idx=2&sn=6d01721c5 ...
- ASP.NET Core快速入门(第2章:配置管理)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文本到c#对象实例的 ...
- ASP.NET Core框架揭秘(持续更新中…)
之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...
- ASP.NET Core 介绍和项目解读
标签: ASP.NETCore 1. 前言 2. ASP.NET Core 简介 2.1 什么是ASP.NET Core 2.2 ASP.NET Core的特点 2.3 ASP.NET Core 项目 ...
- ASP.Net Core MVC6 RC2 启动过程分析[偏源码分析]
入口程序 如果做过Web之外开发的人,应该记得这个是标准的Console或者Winform的入口.为什么会这样呢? .NET Web Development and Tools Blog ASP.NE ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(七)-- 结构化配置
本篇将记录.Net Core里颇有特色的结构化配置的使用方法. 相比较之前通过Web.Config或者App.Config配置文件里使用xml节点定义配置内容的方式,.Net Core在配置系统上发生 ...
随机推荐
- Windows PowerShell 入門(4)-変数と演算子
Windows PowerShellにおける変数と演算子の使用方法について学びます.今回は代表的な演算子として.算術演算子.代入演算子.論理演算子.比較演算子.範囲演算子.置換演算子.ビット演算子.型 ...
- HTTP协议06-报文首部
HTTP报文格式 HTTP协议的请求和响应报文中必定包含HTTP首部.首部内容为客户端和服务器分别处理请求和响应提供所需要的信息. 1)HTTP请求报文 在请求中,HTTP报文由方法.URI.HT ...
- python3+selenium入门09-键盘事件
Keys类提供了键盘上几乎所有按键的方法.通过send_keys()方法不仅可以用来模拟键盘输入,还可以用它来模拟键盘上的按键.包括组合键,比如Ctrl+a等 需要导入Keys类 from selen ...
- HDU 3333 Turing Tree 离线 线段树/树状数组 区间求和单点修改
题意: 给一个数列,一些询问,问你$[l,r]$之间不同的数字之和 题解: 11年多校的题,现在属于"人尽皆知傻逼题" 核心思想在于: 对于一个询问$[x,R]$ 无论$x$是什么 ...
- 常用的ORM框架
现在,很多项目使用ORM的框架构架实现数据持久层,下面列举一些常用的ORM框架有,后续分节介绍. Java:Hibernate和Mybatis(前身iBatis) .Net:EF6与EFCore.Da ...
- C++ DLL
DLL(Dynamic Link Library)(1)DLL 的编制与具体的编程语言及编译器无关只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以相互调用.譬如Windows提供的 ...
- Django 中间件 请求前
中间件: class TestMiddleware(object): """中间件类""" def __init__(self): &quo ...
- __new__方法和pop方法(判断)
new方法(构造方法)是在函数一加载的时候就被执行,在init方法执行之前被执行 def __new__(cls,*args,**kwargs): if kwargs.pop('many',False ...
- 图解Metrics, tracing, and logging
Logging,Metrics 和 Tracing 最近在看Gophercon大会PPT的时候无意中看到了关于Metrics,Tracing和Logging相关的一篇文章,凑巧这些我基本都接触过, ...
- 洛谷P4336 [SHOI2016]黑暗前的幻想乡 [Matrix-Tree定理,容斥]
传送门 思路 首先看到生成树计数,想到Matrix-Tree定理. 然而,这题显然是不能Matrix-Tree定理硬上的,因为还有每个公司只能建一条路的限制.这个限制比较恶心,尝试去除它. 怎么除掉它 ...