1. 程式人生 > >.NET CORE 類庫讀取配置檔案繫結到類

.NET CORE 類庫讀取配置檔案繫結到類

前言,好記性不如爛筆頭

1,NuGet管理器新增 三個引用Microsoft.Extensions.Configuration,Microsoft.Extensions.Configuration.Binder,Microsoft.Extensions.Configuration.Json

2,新增一個工具類ConfigUtils

public class ConfigUtils {         private ConfigurationBuilder _builder;         private IConfigurationRoot _configuration;         /// <summary>         /// 建構函式初始化配置檔案         /// </summary>         /// <param name="jsonFile"></param>         public ConfigUtils(string jsonFile) {             _builder = new ConfigurationBuilder();             _builder.AddJsonFile(jsonFile, optional: false, reloadOnChange: true);         }

        /// <summary>         /// 讀取配置檔案節點         /// </summary>         /// <returns></returns>         public IConfigurationRoot GetConfigurationRoot() {             if (_configuration == null)                 _configuration = _builder.Build();             return _configuration;         }     }

3,按照配置檔案構造對應節點json物件類,讀取該節點資料的時候,就傳入具體配置檔名稱和節點名稱

  public static T GetConfig<T>(string jsonFile, string key) where T : new() {             ConfigUtils utils = new ConfigUtils(jsonFile);             var root = utils.GetConfigurationRoot();             T config = new T();             root.Bind(key, config);             return config;         }