配置开发

main
bicijinlian 1 year ago
parent 824583e7d2
commit 5299d817db

@ -42,14 +42,11 @@ namespace HttpClientStudy.Config
/// <returns></returns> /// <returns></returns>
public static IServiceCollection AddWebApiOptions(this IServiceCollection services) public static IServiceCollection AddWebApiOptions(this IServiceCollection services)
{ {
var configuration = services.BuildServiceProvider().GetService<IConfiguration>(); services.AddOptions();
services.Configure<WebApiOption>(configuration); var configuration = services.BuildServiceProvider().GetService<IConfiguration>();
services.Configure<WebApiOption>(configuration.GetSection("WebApi"));
services.AddOptions();
return services; return services;
} }
} }

@ -16,24 +16,24 @@ namespace HttpClientStudy.UnitTest.ConfigTest
public class WebApiConfigTest public class WebApiConfigTest
{ {
[Fact] [Fact]
public void Test() public void WebApiOption_Test()
{ {
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddWebApiConfigration(); configurationBuilder.AddWebApiConfigration();
IConfiguration configuration = configurationBuilder.Build(); IConfiguration configuration = configurationBuilder.Build();
var o = new WebApiOption();
configuration.GetSection("WebApi").Bind(o);
var services = new ServiceCollection(); var services = new ServiceCollection();
services.AddSingleton<IConfiguration>(configuration); services.AddSingleton<IConfiguration>(configuration);
services.AddWebApiOptions(); services.AddWebApiOptions();
var provider = services.BuildServiceProvider(); var provider = services.BuildServiceProvider();
var webApiOptions = provider.GetService<IOptions<WebApiOption>>(); IOptions<WebApiOption> webApiOptions = provider.GetService<IOptions<WebApiOption>>();
var webApiConfig = webApiOptions.Value;
var webApiUrl = webApiOptions.Value; Assert.NotNull(webApiOptions);
Assert.NotEmpty(webApiConfig.BaseUrl);
} }
} }

Loading…
Cancel
Save