/// <summary> 添加本地Json配置 </summary> /// <param name="builder"></param> /// <param name="dirPath"></param> /// <returns></returns> public static ISpearConfigBuilder AddLocal(this ISpearConfigBuilder builder, string dirPath = null) { var configPath = string.IsNullOrWhiteSpace(dirPath) ? "configPath".Config <string>() : dirPath; if (string.IsNullOrWhiteSpace(configPath)) { return(builder); } configPath = Path.Combine(Directory.GetCurrentDirectory(), configPath); if (!Directory.Exists(configPath)) { return(builder); } CurrentIocManager.CreateLogger(typeof(ConfigBuilderExtensions)).LogInformation($"正在加载本地配置[{configPath}]"); var jsons = Directory.GetFiles(configPath, "*.json"); if (jsons.Any()) { foreach (var json in jsons) { builder.AddJsonFile(json, false, true); } } return(builder); }
/// <summary> 使用Consul配置中心 </summary> /// <param name="manager"></param> public static ISpearConfigBuilder AddConsulConfig(this ISpearConfigBuilder builder) { //配置中心 var provider = new ConsulConfigProvider(); var t = builder.Sources.FirstOrDefault(c => c is ConsulConfigProvider); if (t != null) { builder.Sources.Remove(t); } builder.Sources.Insert(0, provider); return(builder); }
protected virtual void ConfigBuilder(ISpearConfigBuilder builder) { }