WebAPI学习(四):appsettings.json读取帮助类

在Webapi中,我们会把配置信息统一放在appsettings.json中,通过新建读取帮助类,更加简单的读取配置!

  1. 新建公共类库TEST.Common

    1

  2. 新增引用 点击引用 -> 右键 -> 管理Nuget程序包

    2

  3. 项目新建Helper文件夹,新建AppSettings.cs
    /// <summary>
    /// Appsettings.json操作类
    /// </summary>
    public class AppSettings
    {
        public static IConfiguration Configuration { get; set; }
        public static string contentPaht {  get; set; } 
    
        /// <summary>
        /// 构造函数
        /// </summary>
        public AppSettings(string contentPath) 
        {
            var Path = "appsettings.json";
    
            Configuration = new ConfigurationBuilder()
                .SetBasePath(contentPath)
                .Add(new JsonConfigurationSource
                {
                    Path = Path,
                    Optional = false,
                    ReloadOnChange = true
                }).Build();
        }
    
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="configuration"></param>
        public AppSettings(IConfiguration configuration) 
        {
            Configuration = configuration;
        }
    
        /// <summary>
        /// 封装要操作的字符
        /// </summary>
        /// <param name="sections">节点配置</param>
        /// <returns></returns>
        public static string App(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 List<T> App<T>(params string[] sections)
        {
            var list = new List<T>();
            Configuration.Bind(string.Join(":", sections), list);
            return list;
        }
    
    }
  4. 引用TEST.Common

    3

  5. 在Program.cs中添加引用
    //注册appsettings读取类
    builder.Services.AddSingleton(new AppSettings(builder.Configuration));
  6.  
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容