using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; namespace HttpClientStudy.Config { public static class WebApiConfigManager { public static WebApiConfig GetWebApiConfig() { return GetWebApiConfigOption().CurrentValue; } public static IOptionsMonitor GetWebApiConfigOption() { ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddWebApiConfiguration(); ServiceCollection services = new ServiceCollection(); services.AddSingleton(configurationBuilder.Build()); services.AddWebApiOptions(); var webApiConfigOption = services.BuildServiceProvider().GetService>(); if (webApiConfigOption == null) { throw new OptionsValidationException(nameof(webApiConfigOption), typeof(IOptions), new[] { "获取配置异常"}); } return webApiConfigOption; } } }