首页 > 其他分享 >net core读取配置节

net core读取配置节

时间:2023-09-07 14:57:18浏览次数:38  
标签:core 读取 AppSettingsConfig using net Configuration sections public string

通过工具类 AppSettingsConfig

 services.AddSingleton(new AppSettingsConfig(configuration));

 

using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace  XXXXX.Common
{
    
    public class AppSettingsConfig
    {
        public static IConfiguration Configuration { get; set; }

        public AppSettingsConfig(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        /// <summary>
        /// 封装要操作的字符
        /// </summary>
        /// <param name="sections">节点配置</param>
        /// <returns></returns>
        public static string GetValue(params string[] sections)
        {
            try
            {
                if (sections.Any())
                {
                    return Configuration[string.Join(":", sections)];
                }
            }
            catch (Exception) { }
            return "";
        }

        /// <summary>
        /// 递归获取配置信息数组
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="sections"></param>
        /// <returns></returns>
        public static T GetEntity<T>(string sections)
        {
            T s = Activator.CreateInstance<T>();
            Configuration.Bind(sections, s);
            return s;
        }

        /// <summary>
        /// 获取连接字符串
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static string GetConnectionString(string name)
        {
            return Configuration.GetConnectionString(name);
        }


    }

}

 

"APISetting": {
"Grant": "client_credentials"
},

 

使用:

var grant = AppSettingsConfig.GetValue("APISetting:Grant");

 

 

"Authentication": {
"QQ": {
"ClientId": "AA",
"ClientSecret": "AA"
}
}

直接读取

      options.ClientId = Configuration.GetValue<string>("Authentication:QQ:ClientId");

标签:core,读取,AppSettingsConfig,using,net,Configuration,sections,public,string
From: https://www.cnblogs.com/shy1766IT/p/17684909.html

相关文章

  • 用友畅捷通T+ DownloadProxy.aspx 任意文件读取漏洞
    漏洞描述用友畅捷通T+DownloadProxy.aspx文件存在任意文件读取漏洞,攻击者通过漏洞可以获取服务器上的敏感文件漏洞复现fofa语法:app="畅捷通-TPlus"登录页面如下POC:/tplus/SM/DTS/DownloadProxy.aspx?preload=1&Path=../../Web.Confignuclei批量yaml文件id:yonyou_cha......
  • .NET Core 在其上下文中,该请求的地址无效。
    .NETCore在其上下文中,该请求的地址无效。看了端口,发现没被占用,后来发现是IP地址变了改成正确的IP就可以了。......
  • kubeadm部署kubernetes+harbor
    kubeadm部署kubernetes+harbor架构图 安装步骤1、在所有节点上安装Docker和kubeadm2、部署KubernetesMaster3、部署容器网络插件4、部署KubernetesNode,将节点加入Kubernetes集群中5、部署DashboardWeb页面,可视化查看Kubernetes资源6、部署Har......
  • OpenMLDB 基于 Kubernetes 的部署全攻略
    简介Kubernetes作为当前工业界流行的云原生容器编排和管理工具,在大量项目实践中被使用。目前,OpenMLDB的离线引擎和在线引擎,均已经完整支持了基于Kubernetes的部署,可以实现更为方便的管理功能。本文将分别介绍离线和在线引擎基于Kubernetes的部署攻略。注意,离线和在线引擎......
  • .NET开源最全的第三方登录整合库 - CollectiveOAuth
    .NET开源最全的第三方登录整合库-CollectiveOAuth 思维导航前言官方项目介绍项目特点企业微信扫码授权快速开始API列表项目源码地址优秀项目和框架精选加入DotNetGuide技术交流群前言我相信很多同学都对接过各种各样的第三方平台的登录授权获取用户信息(如:微......
  • Linux上安装net sdk 8.0
    在CentOS上安装.NETSDK8.0需要执行一些额外的步骤。以下是在CentOS7或CentOS8上安装.NETSDK8.0的详细步骤:在CentOS7或CentOS8上安装.NETSDK8.0:打开终端窗口。首先,你需要安装一些依赖项,包括wget,以便下载安装脚本。运行以下命令来安装这些依赖项:bash复制代......
  • 关于Kubernetes-v1.23.6-StartupProbe-启动探针的效果演示及说明
    本文,还是以一个nginx为例,创建一个nginx-demo的pod,并且引入启动探针StartupProbe,探针选项,位于spec:下面的containers:下面,与image选项同级的位置1、先看如下nginx-demo.yaml文件,内容如下:[root@k8s-masterqq-5201351]#catnginx-demo.yamlapiVersion:v1#api文档......
  • Jquery向json对象添加键值对,读取键值对,删除键值对
    添加键值对varlabelName={};labelName["Name"]="James"labelName["Sex"]="1"结果:labelName={"Name":"James","Sex":1};读取键值对vargetData={"Label":"Dong","Sex"......
  • 深度学习(VGGNet)
    VGGNet也是一个比较经典的深度学习网络模型。模型结构如下:这里选用了D模型,同样用该模型做个了个猫狗大战的训练,不过为了提高速度,我把图像resize为112*112了,相应的flatten之后就成56*3*3了,所以和原始模型有点不一样。importtorchimporttorch.nnasnnimporttorch.optima......
  • 【Azure Kubernetes】通过 kubelogin 进行非交互式登录AKS
    问题描述当对AKS的登录方式(认证和授权)从“LocalAccountwithKubernetesRBAC”改变为“AzureADauthenticationwithAzureRBAC”.通过kubectl连接AKS会要求交互式登录,需要通过浏览器输入认证码后关联azure登录用户。那么,是否有办法可以避免这种交互式登录呢?  问......