zoukankan      html  css  js  c++  java
  • .net core appsetting/获取配置文件

    修改appsetting

    最近用Identity4所以需要做一个配置项项目

    {
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "Indentity": {"Center": "",//这部分就是要取的
        "ApiCenter": ""
      }
    }

    在startup中获取

    首先我们要从 Indentity中 获取center当中的数据

    这部分比较简单只要在startup 中的ConfigureServices 获取 Indentity下的Center

    this.Configuration["Indentity:Center"]

    就这么一句话就可以获取到了

    将内容注入到管道中

    1.创建一个model

        public class IndentitySettingModel
        {
            public string Center { get; set; }
            public string ApiCenter { get; set; }
        }

    2.在startup中注入到管道当中

    services.Configure<Utility.HelperModel.IndentitySettingModel>(this.Configuration.GetSection("Indentity"));

    兄弟。这样就注入到管道当中了。接下来我们就可以去controller中获取 了

    在controller中获取

            /// <summary>
            /// 获取AccessToken
            /// </summary>
            /// <returns></returns>
            public string GetAccessToken(IOptions<IndentitySettingModel> settings)
            {
               return settings.Center;
            }

    恩很 就是这样 就可以获取的到了。

    最详细的config引用

    刚才有几个朋友和我说 。我干的很漂亮纯属糊弄人的文章。

    好的。 我重新写一下吧。

    我把所有需要引用DLL 给大家贴图吧。太多了。

    算了,还是打出来吧。

    Microsoft.Extensions.Configuration
    Microsoft.Extensions.Configuration.Abstractions
    Microsoft.Extensions.Configuration.Json
    Microsoft.Extensions.DependencyInjection
    Microsoft.Extensions.Options
    Microsoft.Extensions.Options.ConfigurationExtensions

    把这些 nuget引用

    编写Help类

        public class ConfigurationUtil
        {
    
            public static readonly IConfiguration Configuration;
    
            static ConfigurationUtil()
            {
                Configuration = new ConfigurationBuilder()
                    .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile("appsettings.json", true)
                    .Build();
            }
    
            public static T GetSection<T>(string key) where T : class, new()
            {
                var obj = new ServiceCollection()
                    .AddOptions()
                    .Configure<T>(Configuration.GetSection(key))
                    .BuildServiceProvider()
                    .GetService<IOptions<T>>()
                    .Value;
                return obj;
            }
    
            public static string GetSection(string key)
            {
                return Configuration.GetValue<string>(key);
            }
        }

    调用方法

    ConfigurationUtil.GetSection("MongoDb:ConnectionString")

    骂人部分

    天天让我写。天天没人点赞!

    后续

    创建了一个QQ群希望有志之士可以加一下

    点击链接加入群聊【.Net Core研究团】:https://jq.qq.com/?_wv=1027&k=5298dNv

  • 相关阅读:
    kafka 的基本概念及使用场景
    使用RedisTemplate执行Redis脚本
    SpringBoot使用Lua脚本操作Redis
    Java不定参数Object… obj 和 Object[] 的区别
    IntelliJ IDEA添加快捷键自动输入@author信息
    使用Guava RateLimiter限流以及源码解析
    go fileserver
    记录了prometheus 告警指标
    https://mp.weixin.qq.com/s/ZBsZHQtAz_vKS8fwvHKB3g图文分析Kubernetes认证、授权和准入控制
    es不停机滚动update
  • 原文地址:https://www.cnblogs.com/Extnet/p/9755006.html
Copyright © 2011-2022 走看看