1. 直接读取配置

StartUp类中使用 Configuration["ConnectionString"], Configuration["AliyunAkSk:Ak"]

如果在Service中想读取配置, 就先注入IConfiguration configuration

2. 配置强类型化读取

现有配置节点如下

"OssSettings": {
     "ConfigItems": [
       {
         "Name": "ali_",
         "Domain": "img.",
         "OfficalDomain": "img.",
         "AccessId": "",
         "AccessKey": "",
         "EndPoint": "http://",
         "BucketName": "",
         "Platform": "ali"
       }
     ],
     "CurrentOssName": "al",
     "TemplateOssName": ""
   }

定义一个接口, 并实现这个接口.

public interface IOssSettings
    {
         IEnumerable<OssConfig> ConfigItems { get;  }
         string CurrentOssName { get;  }
         string TemplateOssName { get; }
    }

然后在StartUp的ConfigureServices中添加注入

services.AddSingleton<IOssSettings>((os) =>
             {
                 var section = Configuration.GetSection("OssSettings");
                 return section.Get<OssSettings>();
             });

之后就可以在任何地方愉快滴使用 IOssSettings来注入使用了

3. 外置配置文件

public class Program
{
public static void Main(string[] args)
{ CreateWebHostBuilder(args).Build().Run();
} private static IConfiguration configuration {
get
{
var configuration =
new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) // custom config file
.AddJsonFile("GlobalSettings.json", optional: false, reloadOnChange: false)
.Build();
return configuration;
}
} public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(configuration)
.UseStartup<Startup>();
}

新建一个类GlobalSettings
services.Configure<GlobalSettings>(Configuration);

需要使用Options注入使用, 见 https://www.cnblogs.com/qinzb/p/9297143.html

然后就可以使用上面介绍的方式来注入使用了

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

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

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

  2. 我的asp.net core目录

    推荐 Asp.NETCore轻松学系列阅读指引目录(asp.net core 2.2) 官方文档翻译 http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore- ...

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. MFC编程汇总

    1.visual2017专业版MFC编程环境搭建及第一个MFC程序的创建 2.通过MFC设计一个简单的计价程序 3.控件——静态空间.编辑框控件.命令按钮.复选框和单选控件 4.控件添加——静态控件. ...

  2. XML学习总结一

    1.声明 <?xml version="1.0"  encoding="gb2312"?> version属性指定该文档遵守的版本号,通常为1.0X ...

  3. Educational Codeforces Round 25

    A 题意:给你一个01的字符串,0是个分界点,0把这个字符串分成(0的个数+1)个部分,分别求出这几部分1的个数.例如110011101 输出2031,100输出100,1001输出101 代码: # ...

  4. CentOS6.2上安装pip

    如果yum install pip执行失败.按如下步骤执行 首先安装epel扩展源: yum -y install epel-release 然后执行yum --disablerepo=epel -y ...

  5. 我所理解Java集合框架的部分的使用(Collection和Map)

    所谓集合,就是和数组类似——一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接 ...

  6. 写在HTTP协议之前

    1.网络模型 OSI模型即:开放系统互连参考模型(Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参 ...

  7. unity shader 常用函数列表

    此篇博客转自csdn的一位大牛. 中间排版出了一些问题 Intrinsic Functions (DirectX HLSL) The following table lists the intrins ...

  8. Converting Recursive Traversal to Iterator

    In this article, I'm going to introduce a general pattern named Lazy Iterator for converting recursi ...

  9. 谈谈npm依赖管理

    引言 现在的前端开发几乎都离不开nodejs的包管理器npm,比如前端在搭建本地开发服务以及打包编译前端代码等都会用到.在前端开发过程中,经常用到npm install来安装所需的依赖,至于其中的技术 ...

  10. 常见的anaconda的操作

    以前对anaconda的理解比较少,以为它就是一个比较大的python库,现在发现它原来不止是这样,它还有很多其他用途. Anaconda指的是一个开源的Python发行版本,其包含了conda.Py ...