.net core 灵活读取配置文件
程序员文章站
2022-06-30 12:03:14
``` using Microsoft.Extensions.Configuration; using System; using System.Collections.Generic; using System.IO; ``` ``` public static class Configs { p... ......
using microsoft.extensions.configuration; using system; using system.collections.generic; using system.io;
public static class configs { private const string defaultconfigname = "appsettings.json"; public class configcache { internal static readonly iconfigurationroot configroot = null; static configcache() { try { string pathtocontentroot = directory.getcurrentdirectory(); string configfilepath = path.combine(pathtocontentroot, defaultconfigname); if (!file.exists(configfilepath)) { throw new filenotfoundexception($"{defaultconfigname}配置文件不存在!"); } //用于构建基于键/值的配置设置,以便在应用程序中使用 iconfigurationbuilder builder = new configurationbuilder() .setbasepath(pathtocontentroot)//将基于文件的提供程序的fileprovider设置为physicalfileprovider基本路径 .addjsonfile(defaultconfigname, optional: false, reloadonchange: true)//在构建器的路径中添加json配置提供程序 .addenvironmentvariables();//添加读取的microsoft.extensions.configuration.iconfigurationprovider来自环境变量的配置值 configroot = builder.build(); } catch (exception) { } finally { } } } public static t get<t>(string name, t defaultvalue) { if (configcache.configroot == null) { // throw new nullreferenceexception("配置文件加载异常!"); return defaultvalue; } iconfigurationsection section = configcache.configroot.getsection(name); if (section == null) { throw new keynotfoundexception($"{name}节点不存在!"); } var config = section.get<t>(); if (config == null) return defaultvalue; return config; } public static t get<t>(string name) { return get<t>(name, default); } }
上一篇: 【代码笔记】Web-HTML-简介
下一篇: 丑就够倒霉了
推荐阅读
-
.Net Core库类项目跨项目读取配置文件的方法
-
.NET Core源码解析配置文件及依赖注入
-
详解ASP.NET Core实现强类型Configuration读取配置数据
-
Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验
-
asp.net core 配置文件动态更新
-
.net core 学习 读取配置文件
-
.net core 读取appsettings.json 文件中文乱码的问题
-
干货:.net core实现读取自定义配置文件,有源代码哦
-
干货:.net core实现读取appsettings.json配置文件(建议收藏)
-
.net core 读取本地指定目录下的文件的实例代码