.net core 配置包括很多种 例如内存变量、命令行参数、环境变量以及物理文件配置和自定义配置

物理文件配置主要有三种,它们分别是JSON、XML和INI,对应的配置源类型分别是JsonConfigurationSource、XmlConfigurationSource和IniConfigurationSource 这里主要讲JSON的配置

读取配置文件

{

"AllowedHosts": "*",

"Logging": {
                   "IncludeScopes": false,
                   "LogLevel": {
                                 "Default": "Warning"
                                     }
                    }

"Arry": [ { "Name": "zhangsan" }, { "Name": "lisi" }, { "Name": "wangwu" } ]
}

1.使用Key读取

Configuration["AllowedHosts"]; // 结果 *

Configuration["Logging:IncludeScopes"]; // 结果 false

Configuration["Logging:LogLevel:Default"]; // 结果 Warning

Configuration["Arry:0:Name"]; // 结果 zhangsan

小结:读取嵌套的配置,使用冒号隔开;读取数组形式的配置,使用数组的下标索引,0表示第一个。

2.使用GetValue<T>

Configuration.GetValue<string>("AllowedHosts"); // 结果 *

Configuration.GetValue<bool>("Logging:IncludeScopes"); // 结果 false

小结:GetValue方法的泛型形式还有一个GetValue("key",defaultValue)重载。如果key的配置不存在,则为指定的默认值。

3.使用Options

  配置文件

      {

        "Name": "zhangsan",          

         "Age": 22,

        "Company",{

                "Id":1,

                "Address":"中国 北京"

              }
                     }

  public class User

   {

    public string Name { get; set; }

    public int Age { get; set; }

    public class Company

            {

              public int Id {get;set;}

              public string Address{get;set;}

            }

  }

注入:

services.Configure<User>(Configuration);

services.Configure<Company>(Configuration.GetSection("Company"));

services.Configure<Company>(Configuration.GetSection("User:Company"));

读取:

  构造函数读取

 private readonly User _user;
 public GetConfig(IOptions<User> _o
ptions)
 { _user = _option.Value; }
ServiceProvider读取 serviceProvider.GetService<IOptions<User>>().Vlaue
4.使用Bind
var user = new User(); Configuration.Bind(user);
var company=new Company();Configuration.GetSection("Conpany").Bind(company);
4.使用Get<T>
var user = Configuration.Get<User>();或者var commpany = Configuration.GetSection("Company").Get<Company>();
 

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

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

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

  2. 10分钟就能学会的.NET Core配置

    .NET Core为我们提供了一套用于配置的API,它为程序提供了运行时从文件.命令行参数.环境变量等读取配置的方法.配置都是键值对的形式,并且支持嵌套,.NET Core还内建了从配置反序列化为PO ...

  3. 实现自己的.NET Core配置Provider之EF

    <10分钟就能学会.NET Core配置>里详细介绍了.NET Core配置的用法,另外我还开源了自定义的配置Provider:EF配置Provider和Yaml配置Provider.本文 ...

  4. 实现自己的.NET Core配置Provider之Yaml

    YAML是一种更适合人阅读的文件格式,很多大型的项目像Ruby on Rails都选择YAML作为配置文件的格式.如果项目的配置很少,用JSON或YAML没有多大差别.看看rails项目中的配置文件, ...

  5. 【转】10分钟就能学会的.NET Core配置

    .NET Core为我们提供了一套用于配置的API,它为程序提供了运行时从文件.命令行参数.环境变量等读取配置的方法.配置都是键值对的形式,并且支持嵌套,.NET Core还内建了从配置反序列化为PO ...

  6. net core体系-web应用程序-4net core2.0大白话带你入门-4asp.net core配置项目访问地址

    asp.net core配置访问地址  .net core web程序,默认使用kestrel作为web服务器. 配置Kestrel Urls有四种方式,我这里只介绍一种.其它方式可自行百度. 在Pr ...

  7. .NET Core 配置GC工作模式与内存的影响

    .NET Core 配置GC工作模式与内存的影响 .NET Core GC 原文:https://blog.markvincze.com/troubleshooting-high-memory-usa ...

  8. Net Core -- 配置Kestrel端口

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

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

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

随机推荐

  1. 西山居首页jQuery焦点图代码

    西山居首页jQuery焦点图代码是一款带文字描述,左右箭头,索引按钮,自动轮播切换的jQuery特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div style ...

  2. 【iCore4 双核心板_ARM】例程三十五:HTTP_IAP_ARM实验——更新升级STM32

    实验现象: 核心代码: int main(void) { led.initialize(); //LED³õʼ»¯ key.initialize(); if(ARM_KEY_STATE == KEY ...

  3. C++ 如何决定字面常量类型

    C++ 是如何决定字面常量的类型的? #include <iostream> #include <cmath> int main() { using namespace std ...

  4. android6.0 Activity(四) Surface创建

     原文:http://blog.csdn.net/luoshengyang/article/details/8303098.原文代码比較老了,可是核心不变.在原文基础上改动了一些代码,以及增加自己 ...

  5. [原创]Modbus协议学习笔记

    一.参考资料 1.老罗传奇的2篇博文,写的不错,通俗易懂.链接地址为:http://www.cnblogs.com/luomingui/tag/Modbus/ 2.阿莫论坛精华资料:http://ww ...

  6. ubuntu cli

    查看安装包的路径 dpkg -L redis-server 防火墙 ufw redis 相关 service redis-server restart

  7. Glide和Govendor安装和使用

    两个都是Go的包管理工具,二选一 Glide参考:golang 依赖管理 /etc/profile #Go export GOROOT=/home/lintong/software/go export ...

  8. OEL的下载

    https://edelivery.oracle.com 注意的是:第一次下载安装的时候需要首先安装installer.exe软件,然后再下载即可.

  9. iOS 库操作

    目录 库操作 主工程和子工程的引用关系 库之间的引用关系 ar命令 nm命令 库操作 主工程和子工程的引用关系 子工程引用主工程中的文件需要在子工程的search path中加入头文件的目录 子工程引 ...

  10. windows修改PowerShell(命令提示符)默认中文编码方式

    如果以下方法都没有作用的话,可以直接在代码中调用<stdlib.h>中的system("mode con cp select=65001")或者是system(&quo ...