{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"AppSettings": {
"SqlServerConnection": "Server=127.0.0.1;Database=demo;User ID=sa;Password=sa;",
"RedisCaching": {
"Enabled": true,
"ConnectionString": "127.0.0.1:6379"
}
}
}

1、初始化注入方式

  Startup.cs下ConfigureServices方法:

services.AddOptions();
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
public class AppSettings
{
public RedisCaching RedisCaching { get; set; }
} public class RedisCaching
{
/// <summary>
/// 是否启用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 链接信息
/// </summary>
public string ConnectionString { get; set; }
}

然后在控制器中调用:

public readonly IOptions<AppSettings> Setting;
public HomeController(IOptions<AppSettings> setting)
{
Setting = setting;
} public IActionResult Index()
{
var s = Setting.Value.RedisCaching.ConnectionString;
ViewData["abc"] = s;
return View();
}

2、读取appsettings.json方式

   (此方法如在单独的类库中需引用Microsoft.Extensions.Options.ConfigurationExtensions、Microsoft.Extensions.Configuration.FileExtensions、Microsoft.Extensions.Configuration.Json)

  1)先设置appsettings.json文件复制到根目录.右键appsettings.json 高级 复制到输出目录中选“始终复制”.

    

  2)

     public T Get<T>(string key)
{
IConfiguration config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", true, true).Build(); return config.GetSection(key).Get<T>();
}
     public IActionResult Index()
{
var s = new GetAppSetting().Get<string>("AppSettings:SqlServerConnection");
ViewData["abc"] = s;
return View();
}
第一种方法在别的类库中也可调用,比较方便,刚做core项目,用第一种方法时类库中不好调用,查了半天用第二种就可以了。

.NET Core 类库中读取appsettings.json的更多相关文章

  1. .NET Core类库中读取配置文件

    最近在开发基于.NET Core的NuGet包,遇到一个问题:.NET Core中已经没有ConfigurationManager类,在类库中无法像.NET Framework那样读取App.conf ...

  2. .NET Core 中读取appsettings.json配置文件的方法

    appsettings.json配置文件结构如下: { "WeChatPay": { "WeChatApp_ID": "wx9999998999&qu ...

  3. 如何在.Net Core 2.0 App中读取appsettings.json

    This is something that strangely doesn’t seem to be that well documented and took me a while to figu ...

  4. .Net Core 2.0 App中读取appsettings.json

    引用: Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Ext ...

  5. Asp.Net Core 进阶(一) —— 读取appsettings.json

    我们以前在Asp.Net MVC中使用 System.Configuration.ConfigurationManager 来读取web.config文件.但是Asp.Net Core MVC已经没有 ...

  6. .NET Core在类库中读取配置文件appsettings.json

    在.NET Framework框架时代我们的应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别 ...

  7. .NET Core类库项目中如何读取appsettings.json中的配置

    这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions . 1)先看丑陋的方法 比如在 RedisCli ...

  8. Asp .Net Core 读取appsettings.json配置文件

         Asp .Net Core 如何读取appsettings.json配置文件?最近也有学习到如何读取配置文件的,主要是通过 IConfiguration,以及在Program中初始化完成的. ...

  9. asp.net core读取appsettings.json,如何读取多环境开发配置

    摘要 在读取appsettings.json文件中配置的时候,觉得最简单的方式就是使用asp.net core注入的方式进行读取了. 步骤 首先根据配置项的结构定义一个配置类,比如叫AppSettin ...

随机推荐

  1. malloc、free、new、delete

    一.C语言中不定大小多维数组的处理: 如果要给二维数组(m*n)分配空间,代码可以写成下面: char **a, i; // 先分配m个指针单元,注意是指针单元 // 所以每个单元的大小是sizeof ...

  2. River Hopscotch

    River Hopscotch http://poj.org/problem?id=3258 Time Limit: 2000MS   Memory Limit: 65536K Total Submi ...

  3. CloseableHttpClient(二)

    package com.cmy.httpClient; import java.io.IOException; import org.apache.http.HttpEntity; import or ...

  4. Python反转

    1切片 s="svdfbffdbdf" a=s[::-1] 2入栈出栈 入栈之后再出栈正好就是了 3reverse 这个函数是列表的....你要先把str转成list list-& ...

  5. 【校招面试 之 C/C++】第6题 C++深拷贝与浅拷贝

    1.两个的区别(1)在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制.当数据成员中没有指针时,浅拷贝是可行的: 但当数据成员中有指针时,如果采用简单的浅 ...

  6. 22-maven-安装与配置

    转载:https://blog.csdn.net/wy727764020/article/details/80595451 Maven的安装以及eclipse中配置maven 2018年06月06日 ...

  7. php的opcode缓存原理

    opcode是什么? 它是一种PHP脚本编译后的中间语言,类似java的字节码.   PHP代码执行(Zend引擎)的步骤如下: 1.Scanning(Lexing) ,将PHP代码转换为语言片段(T ...

  8. Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例

    1.重写equals方法实例   部分代码参考http://blog.csdn.net/wangloveall/article/details/7899948 重写equals方法的目的是判断两个对象 ...

  9. 记录java版本不兼容的坑,(kafka运行报错)

    启动kafka报错 错误原因是: 由较高版本的jdk编译的java class文件 试图在较低版本的jvm上运行的报错 解决办法是: 查看java版本 C:\Users\Administrator&g ...

  10. jmeter 常见问题汇总

    文件读取中文乱码: 读取CSV文件,出现中文乱码,纠正方式如下: txt文件乱码 在用到该变量的请求上加上UTF-8 post请求 返回“ Content type 'application/x-ww ...