diff --git a/samples/SampleStartups/StartupBlockingOnStart.cs b/samples/SampleStartups/StartupBlockingOnStart.cs index 3416207e..26f3a4ba 100644 --- a/samples/SampleStartups/StartupBlockingOnStart.cs +++ b/samples/SampleStartups/StartupBlockingOnStart.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; // Note that this sample will not run. It is only here to illustrate usage patterns. @@ -28,8 +29,10 @@ public void Configure(IApplicationBuilder app) // Entry point for the application. public static void Main(string[] args) { + var config = new ConfigurationBuilder().AddCommandLine(args).Build(); + var host = new WebHostBuilder() - .UseDefaultHostingConfiguration(args) + .UseConfiguration(config) .UseStartup() .Build(); diff --git a/samples/SampleStartups/StartupConfigureAddresses.cs b/samples/SampleStartups/StartupConfigureAddresses.cs index cc3ee5c6..3147c26f 100644 --- a/samples/SampleStartups/StartupConfigureAddresses.cs +++ b/samples/SampleStartups/StartupConfigureAddresses.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; // Note that this sample will not run. It is only here to illustrate usage patterns. @@ -27,8 +28,10 @@ public void Configure(IApplicationBuilder app) // Entry point for the application. public static void Main(string[] args) { + var config = new ConfigurationBuilder().AddCommandLine(args).Build(); + var host = new WebHostBuilder() - .UseDefaultHostingConfiguration(args) + .UseConfiguration(config) .UseStartup() .UseUrls("http://localhost:5000", "http://localhost:5001") .Build(); diff --git a/samples/SampleStartups/StartupExternallyControlled.cs b/samples/SampleStartups/StartupExternallyControlled.cs index e0301d86..540ebff4 100644 --- a/samples/SampleStartups/StartupExternallyControlled.cs +++ b/samples/SampleStartups/StartupExternallyControlled.cs @@ -36,8 +36,9 @@ public StartupExternallyControlled() public void Start() { _host = new WebHostBuilder() - .UseStartup() - .Start(_urls.ToArray()); + .UseServer("Microsoft.AspNetCore.Server.Kestrel") + .UseStartup() + .Start(_urls.ToArray()); } public void Stop() diff --git a/samples/SampleStartups/StartupFullControl.cs b/samples/SampleStartups/StartupFullControl.cs index 18631344..200d7c93 100644 --- a/samples/SampleStartups/StartupFullControl.cs +++ b/samples/SampleStartups/StartupFullControl.cs @@ -2,6 +2,7 @@ using System.IO; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -13,7 +14,14 @@ public class StartupFullControl { public static void Main(string[] args) { + var config = new ConfigurationBuilder() + .AddCommandLine(args) + .AddEnvironmentVariables(prefix: "ASPNETCORE_") + .AddJsonFile("hosting.json", optional: true) + .Build(); + var host = new WebHostBuilder() + .UseConfiguration(config) // Default set of configurations to use, may be subsequently overridden .UseServer("Microsoft.AspNetCore.Server.Kestrel") // Set the server manually .UseContentRoot(Directory.GetCurrentDirectory()) // Override the content root with the current directory .UseUrls("http://*:1000", "https://*:902") diff --git a/samples/SampleStartups/StartupHelloWorld.cs b/samples/SampleStartups/StartupHelloWorld.cs index 69970f27..a2b1832d 100644 --- a/samples/SampleStartups/StartupHelloWorld.cs +++ b/samples/SampleStartups/StartupHelloWorld.cs @@ -28,7 +28,7 @@ public void Configure(IApplicationBuilder app) public static void Main(string[] args) { var host = new WebHostBuilder() - .UseDefaultHostingConfiguration(args) + .UseServer("Microsoft.AspNetCore.Server.Kestrel") .UseStartup() .Build(); diff --git a/samples/SampleStartups/project.json b/samples/SampleStartups/project.json index 42057409..b58d4773 100644 --- a/samples/SampleStartups/project.json +++ b/samples/SampleStartups/project.json @@ -1,7 +1,10 @@ { "version": "1.0.0-*", "dependencies": { - "Microsoft.AspNetCore.Hosting": "1.0.0-*" + "Microsoft.AspNetCore.Hosting": "1.0.0-*", + "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-*", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-*", + "Microsoft.Extensions.Configuration.Json": "1.0.0-*" }, "frameworks": { "net451": {}, diff --git a/src/Microsoft.AspNetCore.Hosting.Abstractions/WebHostDefaults.cs b/src/Microsoft.AspNetCore.Hosting.Abstractions/WebHostDefaults.cs index 68d694c5..4c431ce6 100644 --- a/src/Microsoft.AspNetCore.Hosting.Abstractions/WebHostDefaults.cs +++ b/src/Microsoft.AspNetCore.Hosting.Abstractions/WebHostDefaults.cs @@ -13,8 +13,5 @@ public static class WebHostDefaults public static readonly string CaptureStartupErrorsKey = "captureStartupErrors"; public static readonly string ServerUrlsKey = "server.urls"; public static readonly string ContentRootKey = "contentRoot"; - - public static readonly string HostingJsonFile = "hosting.json"; - public static readonly string EnvironmentVariablesPrefix = "ASPNETCORE_"; } } diff --git a/src/Microsoft.AspNetCore.Hosting/Internal/HostingEnvironmentExtensions.cs b/src/Microsoft.AspNetCore.Hosting/Internal/HostingEnvironmentExtensions.cs index 7bfc0a7d..c4ecca6f 100644 --- a/src/Microsoft.AspNetCore.Hosting/Internal/HostingEnvironmentExtensions.cs +++ b/src/Microsoft.AspNetCore.Hosting/Internal/HostingEnvironmentExtensions.cs @@ -60,9 +60,11 @@ public static void Initialize(this IHostingEnvironment hostingEnvironment, strin { hostingEnvironment.WebRootFileProvider = new NullFileProvider(); } - - var environmentName = options.Environment; - hostingEnvironment.EnvironmentName = environmentName ?? hostingEnvironment.EnvironmentName; + + hostingEnvironment.EnvironmentName = + options.Environment ?? + Environment.GetEnvironmentVariable($"ASPNETCORE_{WebHostDefaults.EnvironmentKey}") ?? + hostingEnvironment.EnvironmentName; } } } \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.Hosting/Internal/WebHostConfiguration.cs b/src/Microsoft.AspNetCore.Hosting/Internal/WebHostConfiguration.cs deleted file mode 100644 index 72f400f3..00000000 --- a/src/Microsoft.AspNetCore.Hosting/Internal/WebHostConfiguration.cs +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Collections.Generic; -using Microsoft.Extensions.Configuration; - -namespace Microsoft.AspNetCore.Hosting.Internal -{ - public class WebHostConfiguration - { - public static IConfiguration GetDefault() - { - return GetDefault(args: null); - } - - public static IConfiguration GetDefault(string[] args) - { - // Setup the default locations for finding hosting configuration options - // hosting.json, ASPNETCORE_ prefixed env variables and command line arguments - var configBuilder = new ConfigurationBuilder() - .AddJsonFile(WebHostDefaults.HostingJsonFile, optional: true) - .AddEnvironmentVariables(prefix: WebHostDefaults.EnvironmentVariablesPrefix); - - if (args != null) - { - configBuilder.AddCommandLine(args); - } - - return configBuilder.Build(); - } - } - -} diff --git a/src/Microsoft.AspNetCore.Hosting/WebHostBuilderExtensions.cs b/src/Microsoft.AspNetCore.Hosting/WebHostBuilderExtensions.cs index f578499e..3e1fa4cf 100644 --- a/src/Microsoft.AspNetCore.Hosting/WebHostBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Hosting/WebHostBuilderExtensions.cs @@ -4,7 +4,6 @@ using System; using System.Linq; using System.Reflection; -using Microsoft.AspNetCore.Hosting.Internal; using Microsoft.AspNetCore.Hosting.Server; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -15,27 +14,6 @@ public static class WebHostBuilderExtensions { private static readonly string ServerUrlsSeparator = ";"; - /// - /// Use the default hosting configuration settings on the web host. - /// - /// The to configure. - /// The . - public static IWebHostBuilder UseDefaultHostingConfiguration(this IWebHostBuilder hostBuilder) - { - return hostBuilder.UseDefaultHostingConfiguration(args: null); - } - - /// - /// Use the default hosting configuration settings on the web host and allow for override by command line arguments. - /// - /// The to configure. - /// The command line arguments used to override default settings. - /// The . - public static IWebHostBuilder UseDefaultHostingConfiguration(this IWebHostBuilder hostBuilder, string[] args) - { - return hostBuilder.UseConfiguration(WebHostConfiguration.GetDefault(args)); - } - /// /// Use the given configuration settings on the web host. /// diff --git a/src/Microsoft.AspNetCore.Hosting/project.json b/src/Microsoft.AspNetCore.Hosting/project.json index 3c605ec0..9d2f40cf 100644 --- a/src/Microsoft.AspNetCore.Hosting/project.json +++ b/src/Microsoft.AspNetCore.Hosting/project.json @@ -21,9 +21,6 @@ "Microsoft.Extensions.FileProviders.Physical": "1.0.0-*", "Microsoft.Extensions.Options": "1.0.0-*", "Microsoft.Extensions.Configuration": "1.0.0-*", - "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-*", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-*", - "Microsoft.Extensions.Configuration.Json": "1.0.0-*", "Microsoft.Extensions.DependencyInjection": "1.0.0-*", "Microsoft.Extensions.Logging": "1.0.0-*", "Microsoft.Extensions.PlatformAbstractions": "1.0.0-*", diff --git a/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs b/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs index ce5d4fb8..bc04d037 100644 --- a/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs +++ b/test/Microsoft.AspNetCore.Hosting.Tests/WebHostBuilderTests.cs @@ -190,10 +190,9 @@ public void MultipleConfigureLoggingInvokedInOrder() } [Fact] - public void DefaultHostingConfigurationDoesNotCaptureStartupErrors() + public void DoNotCaptureStartupErrorsByDefault() { var hostBuilder = new WebHostBuilder() - .UseDefaultHostingConfiguration() .UseServer(new TestServer()) .UseStartup(); diff --git a/test/Microsoft.AspNetCore.Hosting.Tests/WebHostConfigurationsTests.cs b/test/Microsoft.AspNetCore.Hosting.Tests/WebHostConfigurationsTests.cs index 3facd52d..a210e27f 100644 --- a/test/Microsoft.AspNetCore.Hosting.Tests/WebHostConfigurationsTests.cs +++ b/test/Microsoft.AspNetCore.Hosting.Tests/WebHostConfigurationsTests.cs @@ -10,14 +10,6 @@ namespace Microsoft.AspNetCore.Hosting.Tests { public class WebHostConfigurationTests { - [Fact] - public void DefaultDoesNotCaptureStartupErrors() - { - var config = new WebHostOptions(WebHostConfiguration.GetDefault()); - - Assert.False(config.CaptureStartupErrors); - } - [Fact] public void ReadsParametersCorrectly() {