注入获取

注入获取根据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"];

dao层获取

单独获取相匹配好几个组成的值也不太便捷,例如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內容请搜索之前的文章内容或再次访问下边的类似文章期待大伙儿之后多多的适用!