配置文件的使用主要是两种用法

1.直接使用弱类型的数据 

2.使用强类型的数据 (将配置的数据映射到类)

直接使用弱类型的数据 

在appsetings.json文件中先新建两个节点 TestObj节点用来实现弱类型的读取 TestObjTwo用来实现强类型的映射

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"TestObj": {
"ParamOne": "asp.net"
},
"TestObjTwo": {
"ParamOne": "asp.net",
"ParamTwo": "asp.netCore",
"Num": 60
}
}

 

 

 

对于弱类型的字符串获取,需要使用IConfiguration接口类型的实例Configuration

 

 

 添加属性 public IConfiguration Configuration { get; }

public HomeController(ILogger<HomeController> logger, IOptions<TestOptions> t, IConfiguration configuration)
{
_logger = logger;
T = t;
Configuration = configuration;

//弱类型
var Param = Configuration["TestObj:ParamOne"];

//强类型
var ParamTwo = T.Value.ParamTwo;
var ParamOne = T.Value.ParamOne;
var Num = T.Value.Num;
}

 

通过构造函数注入IConfiguration configuration

使用  var Param = Configuration["TestObj:ParamOne"]; 读取弱类型数据

使用强类型的数据 (将配置的数据映射到类)

新建一个类 用来作为要映射到的类 类应该按照jappsetings.json配置文件中的模型来创建  参数类型也要对应

 

 

public class TestOptions
{
public int Num { get; set; }
public string ParamTwo { get; set; }
public string ParamOne { get; set; }
}

在ConfigureServices中添加配置服务

 

public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.Configure<TestOptions>(Configuration.GetSection("TestObjTwo"));
}

 

homecontroller中添加相应的属性 public IOptions<TestOptions> T { get; }

注入到构造函数

public HomeController(ILogger<HomeController> logger, IOptions<TestOptions> t, IConfiguration configuration)
{
_logger = logger;
T = t;
Configuration = configuration;

//弱类型
var Param = Configuration["TestObj:ParamOne"];

//强类型
var ParamTwo = T.Value.ParamTwo;
var ParamOne = T.Value.ParamOne;
var Num = T.Value.Num;
}

 直接使用强类型映射 也可以得到appsetings.json中的数据