前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【BlogBook书】2、Options:参数选项

【BlogBook书】2、Options:参数选项

作者头像
老张的哲学
发布于 2024-01-15 09:40:23
发布于 2024-01-15 09:40:23
16700
代码可运行
举报
文章被收录于专栏:NetCore 从壹开始NetCore 从壹开始
运行总次数:0
代码可运行

框架中有两种获取参数配置的方式。

本章节是第二种—— 将appsettings.json文件中的所有配置,通过依赖注入的方式,填充到各自对应的对象实例里。

注意:本方法只支持根节点的参数配置,如果想要获取非根节点的,可以做个嵌套的子类。

一、相关的服务注册

代码语言:javascript
代码运行次数:0
运行
复制
// 初始化配置
builder.Host
    .ConfigureAppConfiguration((hostingContext, config) =>
    {
        hostingContext.Configuration.ConfigureApplication();
    });
builder.ConfigureApplication();
app.ConfigureApplication();
app.UseApplicationSetup();

// 配置注册
builder.Services.AddAllOptionRegister();

二、使用方式

有2种方式均可使用,看个人的爱好习惯。

使用方式一,静态方式:

1、appsettings.json中定义某个配置

代码语言:javascript
代码运行次数:0
运行
复制
"Redis": {
  "Enable": false,
  "ConnectionString": "127.0.0.1:6379",
  "InstanceName": ""
},

2、按照一定的层级路径,定义具体的实体类

代码语言:javascript
代码运行次数:0
运行
复制
/// <summary>
/// 缓存配置选项
/// </summary>
public sealed class RedisOptions : IConfigurableOptions
{
    /// <summary>
    /// 是否启用
    /// </summary>
    public bool Enable { get; set; }

    /// <summary>
    /// Redis连接
    /// </summary>
    public string ConnectionString { get; set; }

    /// <summary>
    /// 键值前缀
    /// </summary>
    public string InstanceName { get; set; }
}

3、直接调用

代码语言:javascript
代码运行次数:0
运行
复制
var cacheOptions = App.GetOptions<RedisOptions>();

使用方式二,依赖注入方式:

直接在构造函数中,通过IOptions<>注入即可

代码语言:javascript
代码运行次数:0
运行
复制
private readonly SeqOptions _seqOptions;

/// <summary>
/// ValuesController
/// </summary>

public ValuesController(IOptions<SeqOptions> seqOptions)
{
    // 测试
    _seqOptions = seqOptions.Value;
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Python第三方库安装和卸载
系统:Windows 7 版本:Python 3.5 Python是一门简洁、优雅的语言,丰富的第三方库能让我们很多的编程任务变得更加简单。对于想要用Python进行数据分析,就需要强大的Python第三库如numpy、pandas、matplotlib、scipy必不可少,而Python本身除标准库外都需要另行安装,安装这些第三方库(包)成为许多人的问题,下面我们以安装requests包为实例来看如何安装这些包,如果需要安装其他包,请把requests替换为想要安装的包名即可。 安装第三方库 虽然Pyt
CDA数据分析师
2018/02/05
2.9K0
Python第三方库安装和卸载
pythonpip安装第三方库失败_python安装第三方库失败问题
一、问题描述 相信很多刚开始学习python的同学在安装python第三方库的时候,多多少少都会遇到一些安装失败的问题。下面,我将结合自身经验,分享一下在windows操作系统上此类问题的解决办法。
全栈程序员站长
2022/09/27
9790
python第三方库的安装方法有哪些_如何安装python的第三方库
在pyhton的学习中,相信大家通常都会碰到第三方库的安装问题,这个问题对于很多初学者而言头疼不已。这里我做一些简单的总结,如何正确高效地安装第三方库,少走弯路(毕竟都是我亲自踩过的坑,所以特地来总结一下,方便以后回顾和总结)!
全栈程序员站长
2022/09/27
2.8K0
python第三方库的安装方法有哪些_如何安装python的第三方库
Python之pip使用详解|附第三方库安装总结
pip是python的第三方库管理器,可以根据所开发项目的需要,使用pip相关命令安装不同库。
吾非同
2020/10/13
4.6K0
Python中常用的第三方库_vscode如何使用第三方库
Python 第三方库依照安装方式灵活性和难易程度有 3 个方法,这 3 个方法是:pip 工具安装、自定义安装、文件安装。
全栈程序员站长
2022/11/04
2K0
如何解决Python安装第三方库时遇到的 ERROR: Command errored out with exit status 1 问题
在Python开发中,我们经常需要使用第三方库来扩展功能。然而,在安装某些第三方库时,可能会遇到如下的错误信息:
猫头虎
2025/03/31
3790
Python自动安装第三方库的小技巧,让你的代码拿来就用
有刚接触python的粉丝同学在运行此前《Python爬虫 | 手把手教你扒一扒贝壳网成交房源数据》的完整代码遇到以下问题,然后...
可以叫我才哥
2021/08/05
1K0
python及第三方库交叉编译
  网上关于python的交叉编译的文章很多,但是关于python第三库的交叉编译的文章就比较少了,而且很多标题是第三方库的交叉编译,但是实际上用到的都是不需要交叉编译就能用的库,可参考性不强,最近关于python及其第三方库的交叉编译也踩了不少坑,记录一下!
Se7eN_HOU
2022/10/05
5.4K1
python及第三方库交叉编译
为什么pycharm下载不了第三方库_pycharm详细使用教程
下载网站: https://pypi.org/ 或https://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
全栈程序员站长
2022/09/25
2.5K0
为什么pycharm下载不了第三方库_pycharm详细使用教程
pycharm怎么装第三方库jieba_pycharm找不到第三方库
想要安装什么库,就直接cmd打开pip install 库 ,这种方法可以的,不过速度会有点慢不过,有时候失败就难受。
全栈程序员站长
2022/09/27
8640
pycharm怎么装第三方库jieba_pycharm找不到第三方库
【基础知识】为python部署第三方库(设备不可联网版)
“ 大家好哇!继上次我们说完怎么安装python之后,这一次给大家分享一下怎么根据自己的需求来部署所需要的库,如numpy库等。”
自学气象人
2022/10/08
4930
【基础知识】为python部署第三方库(设备不可联网版)
Anaconda环境下第三方库的安装
在这个数字化飞速发展的时代,Python作为一种强大的编程语言,已经成为众多开发者和数据科学家的首选工具。Python的强大不仅源于其简洁的语法和强大的功能,更在于其庞大的生态系统——包括标准库和丰富的第三方库。正如一部新手机,自带的浏览器让我们能够浏览互联网,而那些可以自由安装的App则赋予了手机更多的个性化功能和扩展能力。Python亦是如此,其标准库为我们提供了基础功能,而第三方库则像是那些App,让我们的Python项目更加丰富多彩。
老虎也淘气
2024/09/06
2160
Anaconda环境下第三方库的安装
pycharm无法使用第三方库_pycharm第三方库安装路径
有时候更新第三方库一直失败,猜测是源的问题,换成豆瓣的源后依然更新不了,参照网上搜索最后解决了问题,这里留个解决方法。
全栈程序员站长
2022/09/27
6780
pycharm无法使用第三方库_pycharm第三方库安装路径
python安装第三方库的问题与解决方法
大部分第三方库都是在国外网站,如果直接使用pip install 包名,下载速度会很慢,这对一些大型包是很致命的,如果下载中断则需要重头再来。
python数据可视化之路
2023/09/06
8330
python安装第三方库的问题与解决方法
pycharm怎么装第三方库jieba_pycharm导入第三方库
方法一:利用pycharm自带功能进行安装(以下截图来自pycharm2018.1.4)
全栈程序员站长
2022/09/25
1.7K0
pycharm怎么装第三方库jieba_pycharm导入第三方库
Python安装第三方库太慢?配置好这个速度飞起
经常听到初学python的小伙伴在抱怨,python安装第三方库太慢,很容易失败报错,如果安装pandas、tensorflow这种体积大的库,简直龟速。
派大星的数据屋
2022/04/03
1.2K0
Python安装第三方库太慢?配置好这个速度飞起
Python第三方库管理Pip和Conda
在本机开发完程序后,需要把程序移植到服务器之类的目标机上运行,或者分发给其余同事,经常会遇到第三方库管理,或者是不同项目之间用到的第三方库版本不一致,例如有时候需要tensorflow 1版本,有的时候希望用最新的2.3版本,这样导致了运行环境的管理复杂度,对于第三方库管理推荐通过Anaconda来解决这个痛点,通过不同的env解决环境配置问题。
用户9925864
2022/07/27
1.4K0
Python第三方库管理Pip和Conda
python进行安装第三方库(以及解决导入库出错的问题)
更新一下,最近博客的朋友在问我运行py代码的问题。有关安装py库的问题。py库有些是下载后自带的,有些被称为第三方库。第三方库不是自带的,需要安装。想必好多是初学者或者是没有进行学习过py的朋友。所以你在运行环境如果遇到这个问题,比如Traceback (most recent call last): File “D:\Users\白面包\Desktop\python代码\import tkinter as tk.py”, line 2, in from PIL import Image, ImageTk ModuleNotFoundError: No module named ‘PIL’,那就是没有PIL这个库。那么需要如何操作呢 ? 电脑安装py之后,一般我们还会下载编辑器,比如pycharm啊,vscode,idea也可以进行编辑。当然你要是为了使自己更加熟练代码,那么你就用下面这个idle,但是这个不建议长期使用,对开发效率不是很友好。而且书写代码不是很方便,特别是导包相关的问题。
兰舟千帆
2022/07/16
1.8K0
python进行安装第三方库(以及解决导入库出错的问题)
pycharm无法使用第三方库_python第三方库安装失败
前言:在使用pycharm学习python的时候,经常需要第三方库,没有第三方库程序就会报错,pycharm也会提醒你要安装所需要的库,安装第三方库的时候往往就出现了问题,如图;
全栈程序员站长
2022/09/27
1.6K0
pycharm无法使用第三方库_python第三方库安装失败
安装Python第三方库的通用方法(如OpenCV库、matplotlib库、imutils库、numpy库……)
以前用的是python3.5,今天安装matplotlib库的时候提示python版本必须3.6以上,无奈之下,就直接重新安装了python3.8.2及部分常用的python第三方库,想到当初我在初次安装时查找了各种资料,于是想把我关于这方面知道的最简单的安装通用公式总结一下,送给在这方面正在迷茫的朋友们。
荣仔_最靓的仔
2021/02/02
2.5K0
安装Python第三方库的通用方法(如OpenCV库、matplotlib库、imutils库、numpy库……)
推荐阅读
相关推荐
Python第三方库安装和卸载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档