.net core 静态类获取appsettings的方法

 更新时间:2020-08-17 06:17:20   作者:佚名   我要评论(0)

注入获取
注入获取通过IConfiguration直接获取的方法官方文档里就有,可以直接看这里


如:appsettings.json


{
"Position": {
"Title": "编辑器",
"N

注入获取

注入获取通过IConfiguration直接获取的方法官方文档里就有,可以直接看这里

如:appsettings.json

{
  "Position": {
    "Title": "编辑器",
    "Name": "Joe Smith"
  },
  "MyKey": "My appsettings.json Value",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

可以用注入的IConfiguration,用冒号分隔的形式取值,如下

 var name = Configuration["Position:Name"];

实体类获取

单个获取对应多个组合的值就不太方便,比如Logging最好能用一个类类直接接收,方法如下:
先定义一个跟json节点对应的类

 public class Logging
  {
    public LogLevel LogLevel { get; set; }
  }
  public class LogLevel
  {
    public string Default { get; set; }
    public string Microsoft { get; set; }
    public string Lifetime { get; set; }
  }

然后在Startup的里ConfigureServices增加

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

调用的地方直接注入

 private readonly Logging _config;
 public HomeController(IOptions<Logging> config)
 {
   _config = config.Value;
 }

静态类获取

如果是在静态类里使用,可以在Startup里的构造函数中这样写

public Startup(IConfiguration configuration)
    {
      Configuration = configuration;
      configuration.GetSection("Logging").Bind(MySettings.Setting);
    }

使用IConfigurationSection的Bind方法将节点直接绑定至一个实例上,注意示例必须是初始化过的。

public static class MySettings
  {
    public static Logging Setting { get; set; } = new Logging();
  }

有了静态类的属性在在静态类里就可以使用了。

到此这篇关于.net core 静态类获取appsettings的方法的文章就介绍到这了,更多相关.net core获取appsettings内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

  • ASP.NET core Web中使用appsettings.json配置文件的方法

相关文章

  • .net core 静态类获取appsettings的方法

    .net core 静态类获取appsettings的方法

    注入获取 注入获取通过IConfiguration直接获取的方法官方文档里就有,可以直接看这里 如:appsettings.json { "Position": { "Title": "编辑器", "N
    2020-08-17
  • 如何使用.NET Core 选项模式【Options】

    如何使用.NET Core 选项模式【Options】

    ASP.NET Core引入了Options模式,使用类来表示相关的设置组。简单的来说,就是用强类型的类来表达配置项,这带来了很多好处。利用了系统的依赖注入,并且还可以利用
    2020-08-17
  • [Asp.Net Core] 浅谈Blazor Server Side

    [Asp.Net Core] 浅谈Blazor Server Side

    在2016年, 本人就开始了一个内部项目, 其特点就是用C#构建DOM树, 然后把DOM同步到浏览器中显示. 并且在一些小工程中使用. 3年下来, 效果很不错, 但因为是使用C#来构
    2020-08-17
  • [Asp.Net Core]用Blazor Server Side实现图片验证码

    [Asp.Net Core]用Blazor Server Side实现图片验证码

    关于Blazor 由于在国内, Blazor一点都不普及, 在阅读此文前, 建议读者先翻看我之前写的随笔, 了解Blazor Server Side的特点. 在一段时间内, 我会写一些解说分析型的
    2020-08-17
  • 使用vs2019加.net core 对WeiApi的创建过程详解

    使用vs2019加.net core 对WeiApi的创建过程详解

    vs2019创建webapi 1.创建新的项目 2.选择.NET CORE的ASP .NET CORE WEB应用程序 3.定义项目名称和存放地点 4.选择API创建项目 5.删除原本的无用的类 6.添加新的
    2020-08-17
  • [Asp.Net Core]提高开发效率的方法

    [Asp.Net Core]提高开发效率的方法

    一、概述 在园子里面有很多关于各种技术细节的研究文章,都是比较牛逼的框架研究;但是一直没有看到关于怎么样提高开发效率的文章,大多提高开发效率的文章都是关
    2020-08-17
  • .Net Core + Nginx实现项目负载均衡的全步骤

    .Net Core + Nginx实现项目负载均衡的全步骤

    nginx大家如果没用过那或多或少都应该听过,vue的部署、反向代理、负载均衡nginx都能帮你做到。 今天主要说一下nginx负载均衡我们的项目,如下图所示,请求到达nginx
    2020-08-17
  • 详解ASP.NET Razor 语法

    详解ASP.NET Razor 语法

    Razor 同时支持 C# (C sharp) 和 VB (Visual Basic)。 主要的 Razor C# 语法规则 Razor 代码块包含在 @{ ... } 中 内联表达式(变量和函数)以 @ 开头 代码语
    2020-08-17
  • 详细分析ASP.NET Razor之C# 变量

    详细分析ASP.NET Razor之C# 变量

    变量 变量是用来存储数据的。 一个变量的名称必须以字母字符开头,并且不能包含空格或者保留字符。 一个变量可以是一个指定的类型,表示它所存储的数据类型。string
    2020-08-17
  • 浅谈AjaxPro.dll,asp.net 前台js调用后台方法

    浅谈AjaxPro.dll,asp.net 前台js调用后台方法

    1、什么是Ajax Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写。"Ajax"这个名词的发明人是Jesse James Garrett,而大力推广并且使Ajax技术炙
    2020-08-17

最新评论