前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[BlogCore操作文档1] AppSettings:参数配置获取

[BlogCore操作文档1] AppSettings:参数配置获取

作者头像
老张的哲学
发布2023-08-23 13:46:47
2540
发布2023-08-23 13:46:47
举报
文章被收录于专栏:NetCore 从壹开始

各位社区的小伙伴大家好,马上要新年了,先祝大家新年快乐!

很荣幸,也很感谢在过去的四年多的时间,大家对BCVP社区、对BlogCore项目的支持,我也一直没有太推广,也没有申请其他的组织的推广资源,都是靠各位精神股东的默默支持和口口相传,才一直坚持着✨,目前Github的Star数4.2k,Fork数1.2k,也算是国内NetCore项目中,坚持的比较长的了,虽然我在2022年维护不多。不过好在有开发组其他几位小伙伴的帮忙,也是提交了一些Commit的。

这里也欢迎感兴趣的小伙伴可以加入开发组中,一起做贡献!

很久之前就有人给我反馈要总结下项目的基本用法,形成一个说明书,而且前几天也有粉丝给我要,说要给他们公司做汇报,我也就想着是时候挤出一些时间来写写,设计设计了。所以就有了这个系列,都是很简单的内容,写如何使用框架的小知识点,最后会汇集成一个PDF,也算是一个五年总结吧。

—— 题记

本文最新的内容,请查看官方操作说明文档,可能有增减:

https://note.youdao.com/s/32jYmpIZ

整个框架通过单例模式,将appsettings.json文件中的所有配置,在项目启动的时候,

统一添加到了AppSettings对象实例中。

一、相关的服务注册

代码语言:javascript
复制
builder.Services.AddSingleton(new AppSettings(builder.Configuration));

二、使用方式

直接类似静态类的方式使用即可,多种方式均可使用,看个人的爱好习惯:

1、按一定的层级路径,组成多个逗号隔开的一组参数

代码语言:javascript
复制
Permissions.IsUseIds4 = AppSettings.app("Startup", "IdentityServer4", "Enabled").ObjToBool();
RoutePrefix.Name = AppSettings.app("AppSettings", "SvcName").ObjToString();

2、按照一定的层级路径,组成字符串数组

代码语言:javascript
复制
Permissions.IsUseIds4 = AppSettings.app(new string[] { "Startup", "IdentityServer4", "Enabled" }).ObjToBool();
RoutePrefix.Name = AppSettings.app(new string[] { "AppSettings", "SvcName" }).ObjToString();

3、按照一定的层级路径,组成冒号隔开的字符串

代码语言:javascript
复制
string PermissionServName = AppSettings.GetValue("ApiGateWay:PermissionServName");
string PermissionServGroup = AppSettings.GetValue("ApiGateWay:PermissionServGroup");
string PermissionServUrl = AppSettings.GetValue("ApiGateWay:PermissionServUrl");

4、返回结果除了是字符串以外,也支持返回List泛型数组或对象

代码语言:javascript
复制
List<MutiDBOperate> listdatabase = AppSettings.app<MutiDBOperate>("DBS")
    .Where(i => i.Enabled).ToList();
 List<Urlobj> WhiteList = _cache.Cof_GetICaching<List<Urlobj>>("WhiteList", () => AppSettings.app<Urlobj>("WhiteList"), 10);

5、项目也集成基础Apollo,可以直接配置使用

代码语言:javascript
复制
// appsettings.apollo.json 文件中
{
  //apollo 配置
  "Apollo": {
    "Enable": false,
    "Config": {
      "AppId": "blog.core",
      "Env": "DEV",
      "MetaServer": "http://localhost:8080/",
      "ConfigServer": [ "http://localhost:8080/" ]
    },
    "Namespaces": [ //Namespaces的数据格式Properties,Xml,Json,Yml,Yaml,Txt
      {
        "Name": "test",
        "Format": "json"
      }
    ]
  }
}

2023

B

C

V

P

采用最新的前后端完全分离技术【 ASP.NET Core Api 6.0 + Vue 2.x 】,并结合 IdentityServer4 ,可快速解决多客户端和多资源服务的统一认证与鉴权的问题,以及整合较为完善的数据权限控制。

配套Nacos注册服务中心,可高效实现多服务实例的扩展与负载,为微服务实现良好基础。支持市面主流数据库和支持多库操作,以及支持事务的控制处理,保证数据安全可信赖!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档