.net core 配置文件appsettings.json的使用教程
1、在vs2019中新建.net core mvc应用程序。在应用程序的欠选appsetings.json文件中先新建两个节点,两个节点分别为TestObj节点(用来实现弱类型的读取)和 TestObjTwo节点(用来实现强类型的映射)
2、对于弱类型的字符串获取,需要使用IConfiguration接口类型的实例Configuration。在项目的HomeController类中 添加属性
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"]; 读取弱类型数据
此时已经可以通过Param获取到配置文件中的值。
3、对于强类型的字符串获取(将配置的数据映射到类)首先新建一个类 用来作为要映射到的类 类应该按照肤沃块jappsetings.json配置文件中的模型来创建 参数类型也要对应。
public class TestOptions
{
public int Num { get; set; }
public string ParamTwo { get; set; }
public string ParamOne { get; set; }
}
4、在项目startup.cs类的在ConfigureServices中方法中添加配置服务。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.Configure<TestOptions>(Configuration.GetSection("TestObjTwo"));
}
5、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;
}
可以得到ParamTwo和ParamOne分别来自配置文件的值