返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >.NET Core类库项目中读取appsettings.json配置的方法
  • 346
分享到

.NET Core类库项目中读取appsettings.json配置的方法

2024-04-02 19:04:59 346人浏览 安东尼
摘要

这是一位朋友问我的问题,写篇随笔回答一下。有2种方法,一种叫丑陋的方法 ——IConfiguration ,一种叫优雅的方法 —— I

这是一位朋友问我的问题,写篇随笔回答一下。有2种方法,一种叫丑陋的方法 ——IConfiguration ,一种叫优雅的方法 —— IOptions 。

1)先看丑陋的方法

比如在RedisClient 中需要读取appsettings.JSON 中的 redis 连接字符串

{
  "redis": {
    "ConnectionString": "xxx"
  }
}

需要在RedisClient 的构造函数参数中添加IConfiguration 接口,并通过它直接读取:

public class RedisClient
{
    private readonly string _connectionString;

    public RedisClient(IConfiguration configuration)
    {
        _connectionString = configuration.GetSection("redis")["ConnectionString"];
    }
}

然后在 Startup 的ConfigureServices() 方法中进行注入:

public IConfigurationRoot Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IConfiguration>(Configuration);     
}

2)接着看优雅的方法

首先定义一个存放连接字符串的配置类 RedisOptions :

public class RedisOptions
{
    public string ConnectionString { get; set; }
}

然后给RedisClient 的构造函数参数中添加IOptions<RedisOptions> 接口,通过IOptions<RedisOptions> 读取配置,RedisClient 无需关心 appsettings.json :

public class RedisClient
{
    private readonly RedisOptions _redisOptions;

    public RedisClient(IOptions<RedisOptions> redisOptions)
    {
        _redisOptions = redisOptions.Value;
    }
}

而 appsettings.json 中的配置可以在 Startup 的ConfigureServices() 中注入进去:

services.AddOptions();
services.Configure<RedisOptions>(Configuration.GetSection("redis"));

(注:使用上面的 Configure 方法需要安装 nuget 包Microsoft.Extensions.Options.ConfigurationExtensions )

作为类库的设计者,你可以更贴心些,写个扩展方法进行上面的注入操作。

到此这篇关于.net core类库项目中如何读取appsettings.json中的配置的文章就介绍到这了,更多相关.Net Core读取appsettings.json配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: .NET Core类库项目中读取appsettings.json配置的方法

本文链接: https://lsjlt.com/news/143384.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • .NET Core类库项目中读取appsettings.json配置的方法
    这是一位朋友问我的问题,写篇随笔回答一下。有2种方法,一种叫丑陋的方法 ——IConfiguration ,一种叫优雅的方法 —— I...
    99+
    2024-04-02
  • .NET Core控制台应用ConsoleApp读取appsettings.json配置文件
    准备 Visual Studio 2017.NET Core 2.1 新建控制台应用(.NET Core) 默认的 Program.cs // Program.cs using S...
    99+
    2024-04-02
  • .NET Core读取配置文件的方法
    配置文件是每个项目最基础的部分,也是不可或缺的部分,比如:数据库连接、中间件属性等常见的配置。 今天这篇文章主要内容就是,在.Net Core项目中怎样去读取配置文件并使用。 提前准...
    99+
    2024-04-02
  • 读取Go项目中的配置文件的方法
    目录来看看gonfig是怎么解决这个问题的约定根据项目定制化配置文件原理篇Go语言提供了很简便的读取json和yaml文件的api,我们可以很轻松将一个json或者yaml文件转换成...
    99+
    2024-04-02
  • Maven项目中读取src/main/resources目录下的配置文件的方法
    在Maven项目的开发中,当需要读取src/下的配置文件时,该怎么做?我们假设Resources下有一个文件名为kafka.properties的配置文件(为什么用kafka.properties,因为这是在做kafka项目的时候碰到的问题...
    99+
    2023-05-30
    maven 目录 sr
  • .net core中编辑json配置文件的方法
    引言 最近在具体项目开发应用中,项目采用的json格式配置文件,配置文件的加载采用的IConfiguration接口对象进行的管理,这是.net standard时代,微软所提供的现...
    99+
    2024-04-02
  • .NET Core Web APi类库内嵌运行的方法
    目录话题内嵌运行.NET Core Web APi总结话题 我们知道在.NET Framework中可以嵌入运行Web APi,那么在.NET Core(.NET 6+称之为.NET...
    99+
    2024-04-02
  • Golang使用ini库读取配置的方法
    本篇内容介绍了“Golang使用ini库读取配置的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!go-ini的分区go-ini的多个配置...
    99+
    2023-06-30
  • .Net Core读取文件时中文乱码问题的解决方法分享
    目录背景问题.NET Framework 中的默认属性.NET Core 上的默认属性解决办法附.Net Core下读取配置文件中文乱码总结背景 今天在使用core web api上...
    99+
    2024-04-02
  • ASP.NET Core项目中调用WebService的方法
    一、前言 现实生产中,有一些比较老的系统对外提供的接口都是WebService形式的,如果是使用.NET Framework创建的项目调用WebService非常方便,网上有很多代码...
    99+
    2024-04-02
  • .NET Core结合Nacos实现配置加解密的方法
    目录背景简单原理说明自定义 ConfigFilter简单应用写在最后背景 当我们把应用的配置都放到配置中心后,很多人会想到这样一个问题,配置里面有敏感的信息要怎么处理呢? 信息既然敏...
    99+
    2024-04-02
  • SpringBoot中读取application.properties配置文件的方法
    application.properties有以下这几条数据 方法一:@Value注解+@Component 建议properties少的时候用,多的时候就不要使用这种方法了 im...
    99+
    2023-02-07
    SpringBoot读取application.properties SpringBoot application properties
  • 怎么在VBS中读取配置文件的配置项
    怎么在VBS中读取配置文件的配置项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。以下是一个读取配置文件的函数:本函数仅适用于以下格式的配置文件(.ini,.txt,.inf...
    99+
    2023-06-08
  • Springboot项目中使用redis的配置方法
    小编给大家分享一下Springboot项目中使用redis的配置方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!springboot是什么springboot一...
    99+
    2023-06-14
  • react项目优化配置的方法
    本篇内容介绍了“react项目优化配置的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!优化-配置CDN通过 craco 来修改 webp...
    99+
    2023-07-02
  • .net core 使用阿里云分布式日志的配置方法
    前言 好久没有出来夸白了,今天教大家简单的使用阿里云分布式日志,来存储日志,没有阿里云账号的,可以免费注册一个 开通阿里云分布式日志(有一定的免费额度,个人测试学习完全没问题的,香...
    99+
    2024-04-02
  • go项目中环境变量的配置方法
    这篇文章主要介绍“go项目中环境变量的配置方法”,在日常操作中,相信很多人在go项目中环境变量的配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go项目中环境变量的配置方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • SpringBoot项目读取外置logback配置文件的问题及解决
    目录SpringBoot读取外置logback配置文件问题解决SpringBoot Logback的使用标签定义SpringBoot读取外置logback配置文件 springboo...
    99+
    2024-04-02
  • vue项目配置env的方法步骤
    目录vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令配置.env文件获取.env中的全局变量实际用处总结vue中利用.env文件存储全局环境变量,以及配置vue...
    99+
    2023-05-16
    vue配置文件.env vue项目配置env vue的env配置
  • React项目配置prettier和eslint的方法
    目录配置prettier和eslint配置stylelint保存自动修复参考视频: https://www.bilibili.com/video/BV1rh411e7E5vd_sou...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作