配置管理简单例子(添加内存配置)

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 配置管理的更多相关文章

  1. ASP.NET Core 中的配置

    目录 以键-值对的形式读取配置 多环境配置 读取结构化的配置数据 参考 .NET Core 定义配置的方式不同于之前 NET 版本,之前是依赖于 System.Configuration 的 app. ...

  2. ASP.NET Core快速入门学习笔记(第2章:配置管理)

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文本到c#对象实例的 ...

  3. ASP.NET Core 1.0 Configuration 配置管理

    documentation: https://docs.asp.net/en/latest/fundamentals/configuration.html github: https://github ...

  4. ASP.NET Core快速入门(第2章:配置管理)- 学习笔记(转载)

    原文地址:https://mp.weixin.qq.com/s?__biz=MjM5NjMzMzE2MA==&mid=2451733443&idx=2&sn=6d01721c5 ...

  5. ASP.NET Core快速入门(第2章:配置管理)--学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文本到c#对象实例的 ...

  6. ASP.NET Core框架揭秘(持续更新中…)

    之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...

  7. 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 项目 ...

  8. ASP.Net Core MVC6 RC2 启动过程分析[偏源码分析]

    入口程序 如果做过Web之外开发的人,应该记得这个是标准的Console或者Winform的入口.为什么会这样呢? .NET Web Development and Tools Blog ASP.NE ...

  9. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(七)-- 结构化配置

    本篇将记录.Net Core里颇有特色的结构化配置的使用方法. 相比较之前通过Web.Config或者App.Config配置文件里使用xml节点定义配置内容的方式,.Net Core在配置系统上发生 ...

随机推荐

  1. delphi 的 ORM 框架

    delphi 的 ORM 框架,收集如下: 1.EntityDac    https://www.devart.com/entitydac/download.html 2.mORMot    The  ...

  2. MySQL伪master+Binlog+同步【转】

    MySQL 中drop 等高危误操作后恢复方法 实验目的: 本次实验以恢复drop操作为例,使用不同方法进行误操作的数据恢复. 方法: 利用master同步 :伪master+Binlog+同步(本文 ...

  3. python标准库之argparse

    argparse的使用 argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并 ...

  4. javascript面向对象学习

    1.this指向问题,指向的是当前的方法属于谁,当前的方法属于谁就指向谁!! 例子: oDiv.onclick = function () { this指向的是oDiv,因为这个方法属于oDiv } ...

  5. exiting pxe rom 无法启动

    背景 我这是给人装了多少次机器了,上千次不敢说,几百次是有了.有个奇怪现象,为什么每次总有新的问题呢,极少能一次成功的.除了让我涨了见识,没想到其他的用处.程序员修电脑,搞笑吧,还有找我修洗衣机的,说 ...

  6. queue之#单向消息队列

    import queue q = queue.Queue() #创建一个单项队列qsize 查看这个单项队列元素的个数empty 与 clear功能是一样的full 是用来查看这个队列是否填满了,队列 ...

  7. UDP/TCP拾遗

    1.UDP的特点 (1)UDP 是无连接的,即发送数据之前不需要建立连接. (2)UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制. (3)UDP 是面向报文的.UDP 没有拥塞控制 ...

  8. scrapy-redis(调度器Scheduler源码分析)

    settings里面的配置:'''当下面配置了这个(scrapy-redis)时候,下面的调度器已经配置在scrapy-redis里面了'''##########连接配置######## REDIS_ ...

  9. scrapy 在迭代爬取时被拒 offsite 增加dont_filter=True

  10. Windows上的程序员神器Cmder

    用过Windows版本Git的都知道Git自带了Git Bash,这个在很大程度上满足了我的需求,随着Git的版本升级越来越好用 安装Cmder Cmder官网,它把conemu,msysgit和cl ...