using System; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace QM.Gateway { /// /// 读取配置文件信息 /// public class ConfigJsonHelper { public static IConfiguration Configuration { get; set; } static ConfigJsonHelper() { //ReloadOnChange = true当appsettings.json被修改时重新加载 Configuration = new ConfigurationBuilder() .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true }) .Build(); } /// /// 获得配置文件的对象值 /// /// /// /// public static string GetJson(string jsonPath, string key) { IConfiguration config = new ConfigurationBuilder().AddJsonFile(jsonPath).Build(); //json文件地址 string s = config.GetSection(key).Value; //json某个对象 return s; } /// /// 根据配置文件和Key获得对象 /// /// /// 文件名称 /// 节点Key /// public static T GetAppSettings(string fileName, string key) where T : class, new() { var baseDir = AppContext.BaseDirectory + "json/"; var currentClassDir = baseDir; IConfiguration config = new ConfigurationBuilder() .SetBasePath(currentClassDir) .Add(new JsonConfigurationSource { Path = fileName, Optional = false, ReloadOnChange = true }) .Build(); var appconfig = new ServiceCollection().AddOptions() .Configure(config.GetSection(key)) .BuildServiceProvider() .GetService>() .Value; return appconfig; } } }