.NET Core 类库中读取appsettings.json
{
  "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的更多相关文章
- .NET Core类库中读取配置文件
		
最近在开发基于.NET Core的NuGet包,遇到一个问题:.NET Core中已经没有ConfigurationManager类,在类库中无法像.NET Framework那样读取App.conf ...
 - .NET Core 中读取appsettings.json配置文件的方法
		
appsettings.json配置文件结构如下: { "WeChatPay": { "WeChatApp_ID": "wx9999998999&qu ...
 - 如何在.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 ...
 - .Net Core 2.0 App中读取appsettings.json
		
引用: Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Ext ...
 - Asp.Net Core 进阶(一) —— 读取appsettings.json
		
我们以前在Asp.Net MVC中使用 System.Configuration.ConfigurationManager 来读取web.config文件.但是Asp.Net Core MVC已经没有 ...
 - .NET Core在类库中读取配置文件appsettings.json
		
在.NET Framework框架时代我们的应用配置内容一般都是写在Web.config或者App.config文件中,读取这两个配置文件只需要引用System.Configuration程序集,分别 ...
 - .NET Core类库项目中如何读取appsettings.json中的配置
		
这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions . 1)先看丑陋的方法 比如在 RedisCli ...
 - Asp .Net Core 读取appsettings.json配置文件
		
Asp .Net Core 如何读取appsettings.json配置文件?最近也有学习到如何读取配置文件的,主要是通过 IConfiguration,以及在Program中初始化完成的. ...
 - asp.net core读取appsettings.json,如何读取多环境开发配置
		
摘要 在读取appsettings.json文件中配置的时候,觉得最简单的方式就是使用asp.net core注入的方式进行读取了. 步骤 首先根据配置项的结构定义一个配置类,比如叫AppSettin ...
 
随机推荐
- 第五章 二叉树(e2)中序遍历
 - oracle的dmp数据文件的导出和导入以及创建用户
			
关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习. dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是: ...
 - 关于元表,self,元方法__index
			
这是需要仔细分辨的几个概念. 元表:相当于table的隐藏属性. 只有固定的一些方法,如__index,__tostring,__add等,称为元方法. 虽然是固定的,但是任何table都可以作为任何 ...
 - PAT L2-008 最长对称子串(模拟字符串)
			
对给定的字符串,本题要求你输出最长对称子串的长度.例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11. 输入格式: 输入在一 ...
 - 【校招面试 之 C/C++】第17题 C 中的malloc相关
			
1.malloc (1)原型:extern void *malloc(unsigned int num_bytes); 头文件:#include <malloc.h> 或 #include ...
 - mysqlbateis generator 当遇到tinyint 生成转化bool 解决方法
			
当遇到tyint 生成转化bool 类型问题很恶心,记录一下解决方法 一. TinyInt转换规则 JAVA数据类型 和 MYSQL的数据类型转换,要注意tinyInt 类型,且存储长度为1的情况. ...
 - 绑定服务-----------binderService  TimerTask的使用
			
绑定服务 服务中通过定义Binder对象的子类让这个子类成为桥梁 在onBind()中返回子类对象 这样就可以在activity中调用这个子类的方法 在Activity中通过ServiceConn ...
 - win 下 nginx 与 php的配置
			
1.下载需要的软件包 php的windows版本(*注意这里下载非线程安全的,nginx使用的是cgi) http://windows.php.net/download/ nginx的window ...
 - linux系统命令笔记
			
一.linux系统目录 /bin 系统命令目录 /dev 设备目录 /home 每个系统用户在home下都有一个目录, 每个用户登录到系统后会自动登录到这个目录下, root用户会在/root文件夹下 ...
 - 07 Maven 使用Nexus创建私服
			
7. Maven 使用Nexus创建私服 私服不是 Maven 的核心概念,它仅仅是一种衍生出来的特殊的 Maven 仓库.通过建立自己的私服,就可以降低中央仓库负荷.节省外网带宽.加速 Maven ...