Change List<Action> to Action (#1480)

This commit is contained in:
Alfred Myers 2018-08-27 14:33:05 -03:00 committed by Chris Ross
parent 637dea8487
commit c9a4ee8b71
1 changed files with 6 additions and 24 deletions

View File

@ -25,13 +25,13 @@ namespace Microsoft.AspNetCore.Hosting
public class WebHostBuilder : IWebHostBuilder public class WebHostBuilder : IWebHostBuilder
{ {
private readonly HostingEnvironment _hostingEnvironment; private readonly HostingEnvironment _hostingEnvironment;
private readonly List<Action<WebHostBuilderContext, IServiceCollection>> _configureServicesDelegates; private Action<WebHostBuilderContext, IServiceCollection> _configureServices;
private IConfiguration _config; private IConfiguration _config;
private WebHostOptions _options; private WebHostOptions _options;
private WebHostBuilderContext _context; private WebHostBuilderContext _context;
private bool _webHostBuilt; private bool _webHostBuilt;
private List<Action<WebHostBuilderContext, IConfigurationBuilder>> _configureAppConfigurationBuilderDelegates; private Action<WebHostBuilderContext, IConfigurationBuilder> _configureAppConfigurationBuilder;
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="WebHostBuilder"/> class. /// Initializes a new instance of the <see cref="WebHostBuilder"/> class.
@ -39,8 +39,6 @@ namespace Microsoft.AspNetCore.Hosting
public WebHostBuilder() public WebHostBuilder()
{ {
_hostingEnvironment = new HostingEnvironment(); _hostingEnvironment = new HostingEnvironment();
_configureServicesDelegates = new List<Action<WebHostBuilderContext, IServiceCollection>>();
_configureAppConfigurationBuilderDelegates = new List<Action<WebHostBuilderContext, IConfigurationBuilder>>();
_config = new ConfigurationBuilder() _config = new ConfigurationBuilder()
.AddEnvironmentVariables(prefix: "ASPNETCORE_") .AddEnvironmentVariables(prefix: "ASPNETCORE_")
@ -111,12 +109,7 @@ namespace Microsoft.AspNetCore.Hosting
/// <returns>The <see cref="IWebHostBuilder"/>.</returns> /// <returns>The <see cref="IWebHostBuilder"/>.</returns>
public IWebHostBuilder ConfigureServices(Action<WebHostBuilderContext, IServiceCollection> configureServices) public IWebHostBuilder ConfigureServices(Action<WebHostBuilderContext, IServiceCollection> configureServices)
{ {
if (configureServices == null) _configureServices += configureServices;
{
throw new ArgumentNullException(nameof(configureServices));
}
_configureServicesDelegates.Add(configureServices);
return this; return this;
} }
@ -131,12 +124,7 @@ namespace Microsoft.AspNetCore.Hosting
/// </remarks> /// </remarks>
public IWebHostBuilder ConfigureAppConfiguration(Action<WebHostBuilderContext, IConfigurationBuilder> configureDelegate) public IWebHostBuilder ConfigureAppConfiguration(Action<WebHostBuilderContext, IConfigurationBuilder> configureDelegate)
{ {
if (configureDelegate == null) _configureAppConfigurationBuilder += configureDelegate;
{
throw new ArgumentNullException(nameof(configureDelegate));
}
_configureAppConfigurationBuilderDelegates.Add(configureDelegate);
return this; return this;
} }
@ -272,10 +260,7 @@ namespace Microsoft.AspNetCore.Hosting
.SetBasePath(_hostingEnvironment.ContentRootPath) .SetBasePath(_hostingEnvironment.ContentRootPath)
.AddConfiguration(_config); .AddConfiguration(_config);
foreach (var configureAppConfiguration in _configureAppConfigurationBuilderDelegates) _configureAppConfigurationBuilder?.Invoke(_context, builder);
{
configureAppConfiguration(_context, builder);
}
var configuration = builder.Build(); var configuration = builder.Build();
services.AddSingleton<IConfiguration>(configuration); services.AddSingleton<IConfiguration>(configuration);
@ -329,10 +314,7 @@ namespace Microsoft.AspNetCore.Hosting
} }
} }
foreach (var configureServices in _configureServicesDelegates) _configureServices?.Invoke(_context, services);
{
configureServices(_context, services);
}
return services; return services;
} }