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

 

作者:|一事冇诚|,原文链接: https://www.cnblogs.com/ysmc/p/16307804.html

文章推荐

无限分解流 - -Fork/Join框架

优秀的流程图应该怎样绘制呢?

【Linux】(小白向)详解VirtualBox网络配置-配置Linux网络

linux安装jdk1.8

Linux 内存管理 pt.1

odoo 开发入门教程系列-模块交互

vue自定义密码输入框解决浏览器自动填充密码的问题

分享一个生产者-消费者的真实场景

巧用Nginx配置解决跨域问题

7_vue的数据代理,双向绑定

Java开发学习(二)----IOC、DI入门案例

基于.NetCore开发博客项目 StarBlog - (8) 分类层级结构展示