.NET Core 读取配置技巧 - IOptions<TOptions> 接口

原文链接:https://www.cnblogs.com/ysmc/p/16307804.html

  在开发过程中,我们无法离开配置文件(appsetting.json),例如配置文件中有以下内容:

{
  "Options": {
    "Option1": "Set1",
    "Option2": "Set2",
    "Option3": "Set3",
    "Option4": "Set4"
  }
}

  通常情况下,我们会通过注入 IConfiguration 接口,调用 GetValue<string>("*") 或者 GetSection("*") 函数获取所需的配置项,当配置项非常多,而且项目中很多功能都需要用到配置项,一旦需要更改配置项目名,那无疑是一场噩梦。

   IOptions<TOptions> 接口就可以完美解决这个问题,先写一个实体类,属性与配置文件中的 Options 配置项一致:

public class Options
{
    public string? Option1 { get; set; }

    public string? Option2 { get; set; }

    public string? Option3 { get; set; }

    public string? Option4 { get; set; }
}

  在 Program.cs(.Net 6) 或 Startup.cs 中添加以下配置:

//.Net 6
builder.Services.Configure<Options>(Configuration.GetSection("Options"));

//<= .Net Core 5
services.Configure<Options>(Configuration.GetSection("Options"));

  需要用到该配置项的时候,注入  IOptions<Options> Options 即可开心使用!

var options  = Options.Value; 

 

posted @ 2022-05-25 00:23  一事冇诚  阅读(2683)  评论(0编辑  收藏  举报