干货:.net core实现读取appsettings.json配置文件(建议收藏)
看好多人不懂在.NET CORE中如何读取配置文件,我这里分两篇,这一篇介绍怎样通过appsettings.json配置读取文件信息。这里我会教大家两种方式:
第一种直接放到通用类库,那里想调往那调。
1.编辑我们的appsettings.json文件
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "ConnectionStrings": { "TestConnection": "server=123;User ID=jiyuwu;Password=123456;database=jiyuwu;", "Redis": "127.0.0.1:6379" }, "AllowedHosts": "*" }
2.通用类库Common添加引用类库Microsoft.Extensions.Configuration.Json并添加AppSettingsHelper.cs
Install-Package Microsoft.Extensions.Configuration.Json -Version 3.0.0
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; using System; using System.Collections.Generic; using System.Text; namespace Common { public class AppSettingsHelper { public static IConfiguration Configuration { get; set; } static AppSettingsHelper() { //ReloadOnChange = true 当appsettings.json被修改时重新加载 Configuration = new ConfigurationBuilder() .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true }) .Build(); } } }
3.调用
string sqlString= AppSettingsHelper.Configuration.GetConnectionString("TestConnection"); string sqlString1 = AppSettingsHelper.Configuration["Logging:LogLevel:Default"];
第二种直接读文件调用。
1.引用类库并读取文件获取配置
Install-Package Microsoft.Extensions.Configuration.Json -Version 3.0.0
public IConfiguration Configuration; public void TestAppSettings() { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); Configuration = builder.Build(); string sqlString2 = Configuration["Logging:LogLevel:Default"]; }
简单介绍下原理:
我们通过ConfigurationBuilder
对象来创建ConfigurationRoot
对象,并用其来读取配置。SetBasePath()
方法是用来设置我们配置对象需要的配置文件的基础路径,比如我们将基础路径设置为C:\TemplateCore\TemplateCore
,那么他读取我们的配置文件appsettings.json
的路径将是C:\TemplateCore\TemplateCore\appsettings.json
开源地址:https://github.com/jiyuwu/TemplateCore
测试浏览效果:http://127.0.0.1:1994/home/TestAppSettings
帮助到你的话请点个推荐,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署