using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; namespace DS.Module.Core { /// /// 配置读取类 /// public class AppSetting { public static IConfiguration Configuration { get; set; } static AppSetting() { //foreach (var xml in Directory.GetFiles(AppContext.BaseDirectory, "*.json")) //{ // Configuration = new ConfigurationBuilder() // // .SetBasePath(contentPath) // .Add(new JsonConfigurationSource { Path = xml, Optional = false, ReloadOnChange = true }) // // .Add(new JsonConfigurationSource { Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", Optional = false, ReloadOnChange = true }) // .Build(); // Console.WriteLine(xml); //} string Path = "appsettings.json"; //ReloadOnChange = true 当appsettings.json被修改时重新加载 Configuration = new ConfigurationBuilder() // .SetBasePath(contentPath) .Add(new JsonConfigurationSource { Path = Path, Optional = false, ReloadOnChange = true }) // .Add(new JsonConfigurationSource { Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", Optional = false, ReloadOnChange = true }) .Build(); } /// /// 构造函数 /// /// public AppSetting(IConfiguration configuration) { Configuration = configuration; } /// /// 封装要操作的字符 /// /// 节点配置 /// public static string app(params string[] sections) { try { if (sections.Any()) { return Configuration[string.Join(":", sections)]; } } catch (Exception ex) { } return ""; } /// /// 递归获取配置信息数组 /// /// /// /// public static List app(params string[] sections) { List list = new List(); // 引用 Microsoft.Extensions.Configuration.Binder 包 Configuration.Bind(string.Join(":", sections), list); return list; } /// /// 根据路径 configuration["App:Name"]; /// /// /// public static string GetValue(string sectionsPath) { try { return Configuration[sectionsPath]; } catch (Exception) { } return ""; } } }