ASP.NET Core的配置系统已经和之前版本的ASP.NET有所不同了,之前是依赖于System.Configuration和XML配置文件web.config,现在支持各种格式的配置,比以前灵活多了。

支持一下几种:

MemoryConfigurationProvider

EnvironmentVariablesConfigurationProvider

CommandLineConfigurationProvider

JsonConfigurationProvider

XmlConfiguationProvider

IniConfigurationProvider

自定义ConfigurationProvider

 

今天我们看看JsonConfig文件的使用:

Core中配置涉及的类结构


ConfgurationSource:相当于配饰的数据源,可以是内存,可以是配置文件。

ConfigurationBuilder :配饰数据源的组装车间,负责取出数据源供配置类消费Configuration。

Configuration :配置数据的映射

配置类定义:

public class CompanyInfoOptions

{

public CompanyInfoOptions(IConfiguration config)

{

this.Name=config["name"];

this.Address=config["address"];

this.CreateDate = DateTime.Parse( config["createDate"]);

}

public String Name

{

get;

set;

}

public String Address

{

get;

set;

}

public DateTime CreateDate

{

get;

set;

}

}

VSCode 文件组织形式:

{
"companyInfo": {
"Name": "hbb0b0",
"address": "Xi'AN JinYeLu number6",
"createDate": "2017/08/06"
}
}

注意配置文件在运行目录,与以前配置不同的配置文件不用拷贝到Bin目录。


Main中调用:

class Program

{

//Section 节名称

const string str_SectionCompanyInfo="companyInfo";

static void Main(string[] args)

{

Console.WriteLine(Directory.GetCurrentDirectory());

//ConfigtionBuilder初始化

var config = new ConfigurationBuilder()

.SetBasePath(Directory.GetCurrentDirectory())

.AddJsonFile("companyinfo.json", optional:true,reloadOnChange:true)

.Build();

//初始化CompanyInfoOptions

CompanyInfoOptions options= new CompanyInfoOptions(config.GetSection(str_SectionCompanyInfo));

//输出
Console.WriteLine($"name:{options.Name}");

Console.WriteLine($"address:{options.Address}");

Console.WriteLine($"createDate:{options.CreateDate.ToString()}");

}

}

asp.net core 配置的更多相关文章

  1. ASP.NET Core配置Kestrel 网址Urls

    ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置. 今天给介绍全面的ASP.NET Core 配置 Urls,使用多种方式配置Urls.让 ...

  2. ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF 框架服务 上一章节中我们了解了 Entity ...

  3. ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF SQLite 支持 上一章节我有提 ...

  4. ASP.NET Core 配置 Entity Framework Core - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 配置 Entity Framework Core - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 Entity Fram ...

  5. ASP.NET Core 配置 MVC - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 配置 MVC - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 MVC 前面几章节中,我们都是基于 ASP.NET 空项目 ...

  6. 关于Asp.net core配置信息读取的源码分析梳理

    概述 我们都知道asp.net core配置信息的读取离不开IConfigurationSource和IConfigurationProvider这两个类,ConfigurationSource可以提 ...

  7. 在ASP.NET Core配置环境变量和启动设置

    在这一部分内容中,我们来讨论ASP.NET Core中的一个新功能:环境变量和启动设置,它将开发过程中的调试和测试变的更加简单.我们只需要简单的修改配置文件,就可以实现开发.预演.生产环境的切换. A ...

  8. Do you kown Asp.Net Core -- 配置Kestrel端口

    Kestrel介绍 在Asp.Net Core中,我们的web application 其实是运行在Kestrel服务上,它是一个基于libuv开源的跨平台可运行 Asp.Net Core 的web服 ...

  9. Asp.Net Core配置的知识总结

    配置在Asp.Net Core中由四个核心的对象组成: IConfiguration:配置的最终产出物,它代表了整个asp.net core应用的配置树,这棵树有根节点,子节点和叶子节点,根节点由IC ...

随机推荐

  1. 八.利用springAMQP实现异步消息队列的日志管理

    经过前段时间的学习和铺垫,已经对spring amqp有了大概的了解.俗话说学以致用,今天就利用springAMQP来完成一个日志管理模块.大概的需求是这样的:系统中有很多地方需要记录操作日志,比如登 ...

  2. 前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  3. jQuery 最外面的那层皮

    这次学习 jQuery 源码,基于当前最新的版本,3.2.1. IIFE (function() { 'use strict'; // })(); 定义一个匿名函数并立即执行,得益于 javascri ...

  4. C++各种指针辨析

    1)int *p p与*结合,表明p是一个指针 然后前面int说明p是一个整形的指针 2)int *p[n] 因为[]比*优先级高,所以p先与[]结合,表明p是个数组,然后这个数组在与*结合,说明数组 ...

  5. bzoj 3718: [PA2014]Parking

    Description 你的老板命令你将停车场里的车移动成他想要的样子. 停车场是一个长条矩形,宽度为w.我们以其左下角顶点为原点,坐标轴平行于矩形的边,建立直角坐标系.停车场很长,我们可以认为它一直 ...

  6. Zabbix自动发现java进程

    一:简介 使用Python psutil模块,查找java模块,并获取启动命令,结合zabbix监控自动监控.点击下载 二:操作 发现脚本 #!/usr/bin/env python # coding ...

  7. 全国交通咨询系统 by C++ on Linux

    信息存储 利用邻接表存储城市信息与线路信息,比邻接矩阵更加高效. 主要数据结构 I)Time,规范时间的输入输出格式 II)VNode,头结点,用于建立顶点表,存储城市信息 III)ArcNode,表 ...

  8. How to setup a DL4J project with eclipse

    https://electronsfree.blogspot.com/2016/10/how-to-setup-dl4j-project-with-eclipse.html

  9. K:正则表达式之基础简介

    正则表达式(regular expression 简称regex) 是一种工具,和其它工具一样是为了解决某一类问题而发明的.正则表达式是一些用来匹配和处理文本的字符串.平时主要用于查找和替换符合相应模 ...

  10. Xamarin.Android 引导页

    http://blog.csdn.net/qq1326702940/article/details/78665588 https://www.cnblogs.com/catcher1994/p/555 ...