Skip to content

Replace Configuration with ConfigurationManager #34350

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions src/DefaultBuilder/src/BootstrapHostBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ namespace Microsoft.AspNetCore.Hosting
// This exists solely to bootstrap the configuration
internal class BootstrapHostBuilder : IHostBuilder
{
private readonly Configuration _configuration;
private readonly ConfigurationManager _configuration;
private readonly WebHostEnvironment _environment;

private readonly HostBuilderContext _hostContext;

private readonly List<Action<IConfigurationBuilder>> _configureHostActions = new();
private readonly List<Action<HostBuilderContext, IConfigurationBuilder>> _configureAppActions = new();

public BootstrapHostBuilder(Configuration configuration, WebHostEnvironment webHostEnvironment)
public BootstrapHostBuilder(ConfigurationManager configuration, WebHostEnvironment webHostEnvironment)
{
_configuration = configuration;
_environment = webHostEnvironment;
Expand Down Expand Up @@ -95,15 +95,13 @@ internal void RunConfigurationCallbacks()

// Configuration doesn't auto-update during the bootstrap phase to reduce I/O,
// but we do need to update between host and app configuration so the right environment is used.
_configuration.Update();
_environment.ApplyConfigurationSettings(_configuration);

foreach (var configureAppAction in _configureAppActions)
{
configureAppAction(_hostContext, _configuration);
}

_configuration.Update();
_environment.ApplyConfigurationSettings(_configuration);
}
}
Expand Down
220 changes: 0 additions & 220 deletions src/DefaultBuilder/src/Configuration.cs

This file was deleted.

4 changes: 2 additions & 2 deletions src/DefaultBuilder/src/ConfigureHostBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ public sealed class ConfigureHostBuilder : IHostBuilder
public IDictionary<object, object> Properties { get; } = new Dictionary<object, object>();

private readonly WebHostEnvironment _environment;
private readonly Configuration _configuration;
private readonly ConfigurationManager _configuration;
private readonly IServiceCollection _services;

private readonly HostBuilderContext _context;

internal ConfigureHostBuilder(Configuration configuration, WebHostEnvironment environment, IServiceCollection services)
internal ConfigureHostBuilder(ConfigurationManager configuration, WebHostEnvironment environment, IServiceCollection services)
{
_configuration = configuration;
_environment = environment;
Expand Down
4 changes: 2 additions & 2 deletions src/DefaultBuilder/src/ConfigureWebHostBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ namespace Microsoft.AspNetCore.Builder
public sealed class ConfigureWebHostBuilder : IWebHostBuilder
{
private readonly WebHostEnvironment _environment;
private readonly Configuration _configuration;
private readonly ConfigurationManager _configuration;
private readonly Dictionary<string, string?> _settings = new(StringComparer.OrdinalIgnoreCase);
private readonly IServiceCollection _services;

private readonly WebHostBuilderContext _context;

internal ConfigureWebHostBuilder(Configuration configuration, WebHostEnvironment environment, IServiceCollection services)
internal ConfigureWebHostBuilder(ConfigurationManager configuration, WebHostEnvironment environment, IServiceCollection services)
{
_configuration = configuration;
_environment = environment;
Expand Down
8 changes: 1 addition & 7 deletions src/DefaultBuilder/src/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
#nullable enable
Microsoft.AspNetCore.Builder.Configuration
Microsoft.AspNetCore.Builder.Configuration.Configuration() -> void
Microsoft.AspNetCore.Builder.Configuration.GetChildren() -> System.Collections.Generic.IEnumerable<Microsoft.Extensions.Configuration.IConfigurationSection!>!
Microsoft.AspNetCore.Builder.Configuration.GetSection(string! key) -> Microsoft.Extensions.Configuration.IConfigurationSection!
Microsoft.AspNetCore.Builder.Configuration.this[string! key].get -> string!
Microsoft.AspNetCore.Builder.Configuration.this[string! key].set -> void
Microsoft.AspNetCore.Builder.ConfigureHostBuilder
Microsoft.AspNetCore.Builder.ConfigureHostBuilder.ConfigureAppConfiguration(System.Action<Microsoft.Extensions.Hosting.HostBuilderContext!, Microsoft.Extensions.Configuration.IConfigurationBuilder!>! configureDelegate) -> Microsoft.Extensions.Hosting.IHostBuilder!
Microsoft.AspNetCore.Builder.ConfigureHostBuilder.ConfigureContainer<TContainerBuilder>(System.Action<Microsoft.Extensions.Hosting.HostBuilderContext!, TContainerBuilder>! configureDelegate) -> Microsoft.Extensions.Hosting.IHostBuilder!
Expand Down Expand Up @@ -33,7 +27,7 @@ Microsoft.AspNetCore.Builder.WebApplication.StopAsync(System.Threading.Cancellat
Microsoft.AspNetCore.Builder.WebApplication.Urls.get -> System.Collections.Generic.ICollection<string!>!
Microsoft.AspNetCore.Builder.WebApplicationBuilder
Microsoft.AspNetCore.Builder.WebApplicationBuilder.Build() -> Microsoft.AspNetCore.Builder.WebApplication!
Microsoft.AspNetCore.Builder.WebApplicationBuilder.Configuration.get -> Microsoft.AspNetCore.Builder.Configuration!
Microsoft.AspNetCore.Builder.WebApplicationBuilder.Configuration.get -> Microsoft.Extensions.Configuration.ConfigurationManager!
Microsoft.AspNetCore.Builder.WebApplicationBuilder.Environment.get -> Microsoft.AspNetCore.Hosting.IWebHostEnvironment!
Microsoft.AspNetCore.Builder.WebApplicationBuilder.Host.get -> Microsoft.AspNetCore.Builder.ConfigureHostBuilder!
Microsoft.AspNetCore.Builder.WebApplicationBuilder.Logging.get -> Microsoft.Extensions.Logging.ILoggingBuilder!
Expand Down
5 changes: 1 addition & 4 deletions src/DefaultBuilder/src/WebApplicationBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,6 @@ internal WebApplicationBuilder(Assembly? callingAssembly, string[]? args = null)
// Configuration changes made by ConfigureDefaults(args) were already picked up by the BootstrapHostBuilder,
// so we ignore changes to config until ConfigureDefaults completes.
_deferredHostBuilder.ConfigurationEnabled = true;
// Now that consuming code can start modifying Configuration, we need to automatically rebuild on modification.
// To this point, we've been manually calling Configuration.UpdateConfiguration() only when needed to reduce I/O.
Configuration.AutoUpdate = true;
}

/// <summary>
Expand All @@ -80,7 +77,7 @@ internal WebApplicationBuilder(Assembly? callingAssembly, string[]? args = null)
/// <summary>
/// A collection of configuration providers for the application to compose. This is useful for adding new configuration sources and providers.
/// </summary>
public Configuration Configuration { get; } = new() { AutoUpdate = false };
public ConfigurationManager Configuration { get; } = new();

/// <summary>
/// A collection of logging providers for the application to compose. This is useful for adding new logging providers.
Expand Down
21 changes: 1 addition & 20 deletions src/DefaultBuilder/src/WebHostEnvironment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,12 @@ public WebHostEnvironment(Assembly? callingAssembly = null)
{
WebRootPath = wwwroot;
}

if (this.IsDevelopment())
{
StaticWebAssetsLoader.UseStaticWebAssets(this, new Configuration());
}
}

public void ApplyConfigurationSettings(IConfiguration configuration)
{
ReadConfigurationSettings(configuration);

if (this.IsDevelopment())
{
StaticWebAssetsLoader.UseStaticWebAssets(this, configuration);
Expand Down Expand Up @@ -81,20 +77,6 @@ internal void CopyPropertiesTo(IWebHostEnvironment destination)
destination.WebRootPath = WebRootPath;
}

public void ResolveFileProviders(IConfiguration configuration)
{
if (Directory.Exists(ContentRootPath))
{
ContentRootFileProvider = new PhysicalFileProvider(ContentRootPath);
}

if (Directory.Exists(WebRootPath))
{
WebRootFileProvider = new PhysicalFileProvider(WebRootPath);
}

}

public string ApplicationName { get; set; }
public string EnvironmentName { get; set; }

Expand All @@ -110,7 +92,6 @@ public IFileProvider WebRootFileProvider
set => _webRootFileProvider = value;
}


public string ContentRootPath
{
get => _contentRootPath;
Expand Down
Loading