继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

.NET Core2.1获取自定义配置文件信息

呼如林
关注TA
已关注
手记 486
粉丝 102
获赞 363

前言

  .net core来势已不可阻挡。既然挡不了,那我们就顺应它。了解它并学习它。今天我们就来看看和之前.net版本的配置文件读取方式有何异同,这里不在赘述.NET Core 基础知识。

实现

注:需要NuGet引入:Microsoft.Extensions.Options.ConfigurationExtensions

①我们再配置文件appsettings.json中 新增自定义API Json如下:

{  "Logging": {    "IncludeScopes": false,    "LogLevel": {      "Default": "Warning"
    }
  },  "API": {    "Url": "http://localhost:8080/",    "getclub": "api/club"
  } 
}

②然后我们定义一个静态类,再类中申明一个IConfigurationSection 类型变量

private static IConfigurationSection _appSection = null;

③写一个AppSetting静态方法获取到配置的Value项,代码如下:

       public static string AppSetting(string key)
        {            string str = string.Empty;            if (_appSection.GetSection(key) != null)
            {
                str = _appSection.GetSection(key).Value;
            }            return str;
        }

④需要设置IConfigurationSection初始值,如下:

       public static void SetAppSetting(IConfigurationSection section)
        {
            _appSection = section;
        }

⑤然后写一个根据不同Json项读取出对应的值即可:

  public static string GetSite(string apiName)
  {      return AppSetting(apiName);
  }

⑥有了以上几个步骤,基本上读取代码已经全部写完,剩下最后一个最重要的步骤,将要读取的Json文件配置到Startup.cs的Configure方法中,如下:

https://img3.mukewang.com/5b665e810001e2ee06040354.jpg

这样,我们就可以很轻松的获取到我们想要的配置项了,整段CS代码如下:

    /// <summary>
    /// 配置信息读取模型    /// </summary>
    public static class SiteConfig
    {        private static IConfigurationSection _appSection = null;        /// <summary>
        /// API域名地址        /// </summary>
        public static string AppSetting(string key)
        {            string str = string.Empty;            if (_appSection.GetSection(key) != null)
            {
                str = _appSection.GetSection(key).Value;
            }            return str;
        }        public static void SetAppSetting(IConfigurationSection section)
        {
            _appSection = section;
        }        public static string GetSite(string apiName)
        {            return AppSetting(apiName);
        }
    }

最后 ,我们来跑一下演示效果如下:

https://img3.mukewang.com/5b665e900001b8a602240025.jpg

原文出处:https://www.cnblogs.com/zhangxiaoyong/p/9411036.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP