Пример #1
0
        /// <summary>
        /// 添加Consul配置中心
        /// 需要在Program程序启动时,在配置web主机时调用,如IHostBuilder.ConfigureWebHostDefaults
        /// </summary>
        /// <param name="webBuilder">web主机生成器</param>
        /// <param name="consulConfigFile">Consul配置文件。如果传入为null,则默认为Config/consulConfig.json</param>
        /// <returns>web主机生成器</returns>
        public static IWebHostBuilder AddConsulConfigCenter(this IWebHostBuilder webBuilder, string consulConfigFile = "Config/consulConfig.json")
        {
            if (string.IsNullOrWhiteSpace(consulConfigFile))
            {
                throw new ArgumentNullException("Consul配置文件路径不能为空");
            }

            var configOptions = consulConfigFile.ToJsonObjectFromFile <ConfigCenterOptions>();

            webBuilder.AddConsulConfigCenter(o =>
            {
                o.FillFrom(configOptions);
            });

            return(webBuilder);
        }