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

  • .NET Core 读取配置技巧 – IOptions<TOptions> 接口已关闭评论
  • 203 次浏览
  • A+
所属分类:.NET技术
摘要

原文链接:https://www.cnblogs.com/ysmc/p/16307804.html  在开发过程中,我们无法离开配置文件(appsetting.json),例如配置文件中有以下内容:

原文链接: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;