当前位置: 首页 > article >正文

ASP.NET配置文件多种方式读取

ASP.NET Core项⽬默认的配置⽂件是appsettings.json,创建项⽬时就会⾃动⽣成这个⽂ 件,我们可以将⼀些配置信息存放在这个配置⽂件中,这样做的好处是当我们修改配置⽂件 时,不在需要重启应⽤,可以实现热更新。

{"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","msg": "hello world"
}

IConfiguration

个路由终结点来演⽰如何读取这个配置

app.MapGet("config", (IConfiguration configuration) =>
{return configuration["msg"] + "_" +configuration["Logging:LogLevel:Default"];
});

通过IOC注⼊IConfiguration对象,我们就可以访问不同节点的配置了,如果是单层节点, 通过configuration[“msg”]的⽅式进⾏访问,如果是多层级,则通过 configuration[“Logging:LogLevel:Default”]来访问

通过GetValue方法获取

app.MapGet("config", (IConfiguration configuration) =>
{return configuration.GetValue<string>("msg");
});

GetValue⽆法读取对象,会报异常

通过GetSection方法获取

app.MapGet("config", (IConfiguration configuration) =>
{return configuration.GetSection("msg").Value;
});

读取对象

app.MapGet("config", (IConfiguration configuration) =>
{return configuration.GetSection("Person").Get<Person>();
});

使用委托来配置选项

先定义⼀个实体:

public class Person
{public string Name { get;set; }public int Age { get;set; }
}

配置如下:

"Person": {"Name": "张三","Age": 18
}

注册配置:

builder.Services.Configure<Person>
(builder.Configuration.GetSection("Person"));

使⽤配置:

app.MapGet("config", (IOptions<Person> options) =>
{return $"{options.Value.Name},{options.Value.Age}";
});

相关文章:

ASP.NET配置文件多种方式读取

ASP.NET Core项⽬默认的配置⽂件是appsettings.json&#xff0c;创建项⽬时就会⾃动⽣成这个⽂ 件&#xff0c;我们可以将⼀些配置信息存放在这个配置⽂件中&#xff0c;这样做的好处是当我们修改配置⽂件 时&#xff0c;不在需要重启应⽤&#xff0c;可以实现热更新。 {"…...

基于N-gram模型的中文文本分析系统设计与实现

前言 在数字化人文研究快速发展的背景下&#xff0c;中文古典文本的量化分析面临着独特的挑战。古典文献中繁简异体字共存、语义单元边界模糊、意象隐喻密集等特征&#xff0c;使得传统的词频统计方法难以准确捕捉其深层语言规律。现有文本分析工具多面向现代汉语设计&#xff…...

零基础购买阿里云服务器,XShell连接云服务器

目录 1.环境搭建方式 2. 使用云服务器 3.使用终端软件登录到Linux 4.使用XShell登录主机 5.连接失败的原因&#xff1a; 下一篇更新&#xff1a;Linux的基础指令以及如何Linux的环境搭建 1.环境搭建方式 主要有四种: 1.直接安装在物理机上&#xff0c;虽然Linux有图形化…...

成熟开发者需具备的能力

精业务 • 指深入理解和熟悉所开发软件的业务逻辑和需求。 • 开发者需要明确软件要解决的问题、面向的用户群体以及核心功能等。 • 精业务有助于开发者更好地设计系统架构、编写符合业务需求的代码&#xff0c;并能根据业务变化灵活调整开发计划。 懂原理 • 指掌握编程的基…...

深入解析PID控制算法:从理论到实践的完整指南

前言 大家好&#xff0c;今天我们介绍一下经典控制理论中的PID控制算法&#xff0c;并着重讲解该算法的编码实现&#xff0c;为实现后续的倒立摆样例内容做准备。 众所周知&#xff0c;掌握了 PID &#xff0c;就相当于进入了控制工程的大门&#xff0c;也能为更高阶的控制理论…...

CNN手写数字识别1——模型搭建与数据准备

模型搭建 我们这次使用LeNet模型&#xff0c;LeNet是一个经典的卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;架构&#xff0c;最初由Yann LeCun等人在1998年提出&#xff0c;用于手写数字识别任务 创建一个文件model.py。实现以下代码。 源码 #…...

深度学习04 数据增强、调整学习率

目录 数据增强 常用的数据增强方法 调整学习率 学习率 调整学习率 ​调整学习率的方法 有序调整 等间隔调整 多间隔调整 指数衰减 余弦退火 ​自适应调整 自定义调整 数据增强 数据增强是通过对训练数据进行各种变换&#xff08;如旋转、翻转、裁剪等&#xff09;&am…...

Python 自然语言处理(NLP)和文本挖掘的常规操作过程

Python 自然语言处理&#xff08;NLP&#xff09;和文本挖掘 自然语言处理&#xff08;NLP&#xff09;和文本挖掘是数据科学中的重要领域&#xff0c;涉及对文本数据的分析和处理。Python 提供了丰富的库和工具&#xff0c;用于执行各种 NLP 和文本挖掘任务。以下是一些常见的…...

掌握SQLite_轻量级数据库的全面指南

1. 引言 1.1 SQLite简介 SQLite 是一个嵌入式关系型数据库管理系统,它不需要单独的服务器进程或系统配置。它的设计目标是简单、高效、可靠,适用于各种应用场景,尤其是移动设备和嵌入式系统。 1.2 为什么选择SQLite 轻量级:文件大小通常在几百KB到几MB之间。无服务器架构…...

PH热榜 | 2025-02-16

1. Cal.com Routing 标语&#xff1a;根据客户线索&#xff0c;系统会智能地自动安排约会。 介绍&#xff1a;告别繁琐的排期&#xff01;Cal.com 推出了新的路由功能&#xff0c;能更智能地分配预约&#xff0c;让你的日程安排更顺畅。这项功能运用智能逻辑和深入的数据分析…...

数据库基本概念及基本使用

数据库基本概念 什么是数据库&#xff1a; 数据库特点&#xff1a; 常见的数据库软件&#xff1a; 不同的公司进行不同的实践&#xff0c;生成了不同的产品。 比如买汽车&#xff0c;汽车只是一个概念&#xff0c;你要买哪个牌子哪个型号的汽车&#xff0c;才是真正的汽车的一…...

gozero实现数据库MySQL单例模式连接

在 GoZero 框架中实现数据库的单例连接可以通过以下步骤来完成。GoZero 使用 gorm 作为默认的数据库操作框架&#xff0c;接下来我会展示一个简单的单例模式实现。 ### 1. 定义数据库连接的单例结构 首先&#xff0c;你需要定义一个数据库连接的结构体&#xff0c;并在初始化…...

CSS flex布局 列表单个元素点击 本行下插入详情独占一行

技术栈&#xff1a;Vue2 javaScript 简介 在实际开发过程中有遇到一个场景&#xff1a;一个list&#xff0c;每行个数固定&#xff0c;点击单个元素后&#xff0c;在当前行与下一行之间插入一行元素详情&#xff0c;便于更直观的查看到对应的数据详情。 这种情形&#xff0c…...

无人机航迹规划: 梦境优化算法(Dream Optimization Algorithm,DOA)求解无人机路径规划MATLAB

一、梦境优化算法 梦境优化算法&#xff08;Dream Optimization Algorithm&#xff0c;DOA&#xff09;是一种新型的元启发式算法&#xff0c;其灵感来源于人类的梦境行为。该算法结合了基础记忆策略、遗忘和补充策略以及梦境共享策略&#xff0c;通过模拟人类梦境中的部分记忆…...

权限五张表

重点&#xff1a;权限五张表的设计 核心概念&#xff1a; 在权限管理系统中&#xff0c;经典的设计通常涉及五张表&#xff0c;分别是用户表、角色表、权限表、用户角色表和角色权限表。这五张表的设计可以有效地管理用户的权限&#xff0c;确保系统的安全性和灵活性。 用户&…...

Docker-数据卷

1.数据卷 容器是隔离环境&#xff0c;容器内程序的文件、配置、运行时产生的容器都在容器内部&#xff0c;我们要读写容器内的文件非常不方便。大家思考几个问题&#xff1a; 如果要升级MySQL版本&#xff0c;需要销毁旧容器&#xff0c;那么数据岂不是跟着被销毁了&#xff1…...

在Linux系统下修改Docker的默认存储路径

在Linux系统下修改Docker的默认存储路径可以通过多种方法实现&#xff0c;下边是通过修改daemon.json文件方式实现 查看当前Docker存储路径 使用命令 docker info | grep "Docker Root Dir" 查看当前Docker的存储路径&#xff0c;默认为 /var/lib/docker 停止Docker…...

IT : 是工作還是嗜好? Delphi 30周年快乐!

又到2月14日了, 自从30多年前收到台湾宝蓝(Borland)公司一大包的3.5 磁盘片, 上面用黑色油性笔写着Delphi Beta开始, Delphi便和我的工作生涯有了密不可分的关系. 一年后Delphi大获成功, 自此对于使用Delphi的使用者来说2月14日也成了一个特殊的日子! 我清楚记得Delphi Beta使用…...

DeepPose

目录 摘要 Abstract DeepPose 算法框架 损失函数 创新点 局限性 训练过程 代码 总结 摘要 DeepPose是首个将CNN应用于姿态估计任务的模型。该模型在传统姿态估计方法的基础上&#xff0c;通过端到端的方式直接从图像中回归出人体关键点的二维坐标&#xff0c;避免了…...

[HarmonyOS]鸿蒙(添加服务卡片)推荐商品 修改卡片UI(内容)

什么是服务卡片 &#xff1f; 鸿蒙系统中的服务卡片&#xff08;Service Card&#xff09;就是一种轻量级的应用展示形式&#xff0c;它可以让用户在不打开完整应用的情况下&#xff0c;快速访问应用内的特定功能或信息。以下是服务卡片的几个关键点&#xff1a; 轻量级&#…...

DeepSeek R1 本地部署和知识库搭建

一、本地部署 DeepSeek-R1&#xff0c;是幻方量化旗下AI公司深度求索&#xff08;DeepSeek&#xff09;研发的推理模型 。DeepSeek-R1采用强化学习进行后训练&#xff0c;旨在提升推理能力&#xff0c;尤其擅长数学、代码和自然语言推理等复杂任务 。 使用DeepSeek R1, 可以大大…...

领域驱动设计叕创新,平安保险申请DDD专利

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 见下图&#xff1a; 这个名字拼得妙&#xff1a;领域驱动设计模式。 是领域驱动设计&#xff1f;还是设计模式&#xff1f;还是领域驱动设计设计模式&#xff1f;和下面这个知乎文章的…...

团体程序设计天梯赛-练习集——L1-041 寻找250

前言 10分的题&#xff0c;主要的想法就一个&#xff0c;按这个想法可以出几个写法 L1-041 寻找250 对方不想和你说话&#xff0c;并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式&#xff1a; 输入在一行中给出不知道多少个绝对值…...

动量突破均值回归策略

动量突破均值回归策略&#xff1a;量化交易中的双剑合璧 引言 在量化交易的世界中&#xff0c;动量策略和均值回归策略是两种经典且广泛应用的策略。动量策略基于“强者恒强”的理念&#xff0c;认为过去表现良好的资产在未来一段时间内仍会继续表现良好&#xff1b;而均值回…...

vue3.x 的provide 与 inject详细解读

在 Vue 3.x 中&#xff0c;provide 和 inject 是一对用于实现依赖注入的 API。它们允许父组件向其所有子组件&#xff08;无论嵌套多深&#xff09;传递数据或方法&#xff0c;而不需要通过 props 逐层传递。这在开发复杂组件或高阶组件时非常有用。 1. provide 的基本用法 p…...

C#控制台大小Console.SetWindowSize函数失效解决

在使用C#修改控制台大小相关API会失效. 由于VS将控制台由命令提示符变成了终端&#xff0c;因此在设置大小时会出现问题 测试代码&#xff1a; Console.SetWindowSize(100, 50);...

spring boot 对接aws 的S3 服务,实现上传和查询

1.aws S3介绍 AWS S3&#xff08;Amazon Simple Storage Service&#xff09;是亚马逊提供的一种对象存储服务&#xff0c;旨在提供可扩展、高可用性和安全的数据存储解决方案。以下是AWS S3的一些主要特点和功能&#xff1a; 1.1. 对象存储 对象存储模型&#xff1a;S3使用…...

25/2/16 <算法笔记> DirectPose

DirectPose 是一种直接从图像中预测物体的 6DoF&#xff08;位姿&#xff1a;6 Degrees of Freedom&#xff09;姿态 的方法&#xff0c;包括平移和平面旋转。它在目标检测、机器人视觉、增强现实&#xff08;AR&#xff09;和自动驾驶等领域中具有广泛应用。相比于传统的位姿估…...

数据结构-8.Java. 七大排序算法(下篇)

本篇博客给大家带来的是排序的知识点, 由于时间有限, 分两天来写, 下篇主要实现最后一种排序算法: 归并排序。同时把中篇剩下的快排非递归实现补上. 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是…...

缓存穿透、缓存击穿、缓存雪崩的区别与解决方案

1. 缓存穿透&#xff08;Cache Penetration&#xff09; 定义&#xff1a;大量请求查询 数据库中不存在的数据&#xff0c;导致请求绕过缓存直接访问数据库&#xff0c;造成数据库压力过大。 场景&#xff1a; 恶意攻击&#xff1a;例如用不存在的用户ID频繁请求。 业务误操作…...