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

  • 相关阅读:
    解惑如何保证数组元素的可见性(yet)
    为什么内存锁在有事务切面的情况下会形同虚设 隔离级别与事务
    小事故合集
    第4种打整包插件,urlfactory already set
    三目运算符与字节码阅读
    servlet application/x-www-form-urlencoded 坑
    多实例重复发邮件
    当动态代理遇到ioc (五)使用cglib切面与自定义类加载器构建独有环境aop日志
    mac笔记本如何重制secureCRT的体验期|试用版本
    npm install出现的错误
  • 原文地址:https://www.cnblogs.com/Extnet/p/9755006.html
Copyright © 2011-2022 走看看