八、.net core(.NET 6)配置读取appsettings文件内容的通用功能
添加通用读取配置文件功能
在Wsk.Core.Package项目下,新增Microsoft.Extensions.Configuration包:
在启动项目下,设置appsettings.json属性为始终复制:
新建一个文件夹Common,用于存放工具类项目。并且新建项目:Wsk.Core.AppSettings,引用package包项目,然后新建一个读取配置文件的通用类,叫AppHelper。目录结构如图:
在AppHelper类里面,新建静态操作方法有关代码,用于读取根目录下的配置文件信息:
代码:

public class AppHelper { private static IConfiguration _config; public AppHelper(IConfiguration configuration) { _config = configuration; } /// <summary> /// 读取指定节点的字符串 /// </summary> /// <param name="sessions"></param> /// <returns></returns> public static string ReadAppSettings(params string[] sessions) { try { if (sessions.Any()) { return _config[string.Join(":", sessions)]; } } catch { return ""; } return ""; } /// <summary> /// 读取实体信息 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="session"></param> /// <returns></returns> public static List<T> ReadAppSettings<T>(params string[] session) { List<T> list = new List<T>(); _config.Bind(string.Join(":", session), list); return list; } }
在启动项目下,新建文件夹ConfigServices,用于存放各种服务的添加项目。
现在,看下目前的启动项下的ConfigureServices方法:
我们把该方法做个简化。在ConfigServices下新建一个静态类,叫 WskService,用于写入各种自带的方法进行集成;再新建一个静态类SwaggerService,用于存放Swagger功能的集成:
然后,把swagger的功能进行移植,在SwaggerService类下面进行注册:
再把上面有一个添加控制器的功能进行注册到WskService下面。然后,把对swagger的注册也加入到该服务下:
最后,在ConfigureServices下面把所有内容删掉,然后添加WskServices的注册:
接下来,添加对刚刚我们写的读取配置文件类的注册。在ConfigureServices里面进行添加注册单例模式,放在注册服务的最上面,这样其他服务就可以在注册时候也可以引用该功能进行读取配置文件了:
现在做个测试,在配置文件里面新建一段配置信息:
json内容:
"Test": { "A": "Hello", "B": { "C": "World" } }
在控制器方法里面,做个打印测试:
示例代码:

[HttpPost] public IActionResult HelloWorld() { string a= AppHelper.ReadAppSettings("Test", "A"); string b = AppHelper.ReadAppSettings("Test", "B", "C"); return Ok($"{a} ***** {b}"); }
启动程序,并执行api,看看返回的结果:
返回成功,此篇完结。如果有用,欢迎评论、打赏、点赞或转发。版权所有,转发请注明出处:https://www.cnblogs.com/weskynet/p/14843324.html
本文作者:Wesky
微信号:WeskyNet001
公众号:Dotnet Dancer
文章链接:https://www.cnblogs.com/weskynet/p/14843324.html

欢迎扫一扫关注公众号,发现更多其他技术分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南