读取配置文件的万能方法

摘要

为了让Wsk.Core.Package新项目更加通用,我们需要使用Microsoft.Extensions.Configuration包来加载appsettings文档和环境变量。在新项目中,我们将appsettings.json文件设置为始终复制。同时,我们还创建了一个名为Common的文件夹,用于存放Java工具新项目。让我们一起开始Wsk项目的新篇章吧!

正文

八、.net core(.NET 6)配备载入appsettings文档內容的通用性作用

 加上通用性载入环境变量作用

Wsk.Core.Package新项目下,增加Microsoft.Extensions.Configuration包:

 

 

在运行新项目下,设定appsettings.json特性为自始至终拷贝:

 

 

新创建一个文件夹名称Common,用以储放java工具新项目。而且新建项目: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;
        }
    }

View Code

 

在运行新项目下,加密文件夹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}");
        }

View Code

 

运行程序流程,并实行api,看一下回到的結果:

 

 

回到取得成功,此篇完成。假如有效,热烈欢迎评价、打赏主播、关注点赞或分享。版权声明,分享请标明来源:https://www.cnblogs.com/weskynet/p/14843324.html

 

关注不迷路

扫码下方二维码,关注宇凡盒子公众号,免费获取最新技术内幕!

温馨提示:如果您访问和下载本站资源,表示您已同意只将下载文件用于研究、学习而非其他用途。
文章版权声明 1、本网站名称:宇凡盒子
2、本站文章未经许可,禁止转载!
3、如果文章内容介绍中无特别注明,本网站压缩包解压需要密码统一是:yufanbox.com
4、本站仅供资源信息交流学习,不保证资源的可用及完整性,不提供安装使用及技术服务。点此了解
5、如果您发现本站分享的资源侵犯了您的权益,请及时通知我们,我们会在接到通知后及时处理!提交入口
0

评论0

请先

站点公告

🚀 【宇凡盒子】全网资源库转储中心

👉 注册即送VIP权限👈

👻 全站资源免费下载✅,欢迎注册!

记得 【收藏】+【关注】 谢谢!~~~

立即注册
没有账号?注册  忘记密码?

社交账号快速登录