Метод ConfigureServices(IServiceCollection services)
предназначен для настройки служб вашего приложения, как описано в документации Microsoft .
Там, кажется, вы не можете получить информацию о схеме, хосте и порте непосредственно из WebHost
.
Действительно, вы обычно создаете свой WebHost
в Program.cs
:
var webHost = WebHost.CreateDefaultBuilder(args) // initialise web host
.UseStartup<Startup>()
.Build();
Однако вы можете получить схему, хост и порт, используемые WebHost
, взглянув на ту же конфигурацию, которую CreateDefaultBuilder()
использует для этого.
Действительно, глядя на код WebHost
, вы можете увидеть CreateDefaultBuilder()
загружает конфигурацию из appsettings.json
и appsettings.Development.json
для настройки WebHost
, как например схема, хост и порт. Вы можете очень хорошо посмотреть на те же данные конфигурации в ConfigureServices(IServiceCollection services)
и вывести ту же информацию о конфигурации.
Если вы нацелены на Asp.Net Core 2.1, вы можете настроить свои конечные точки в appsettings.json
файле напрямую. Вы можете сделать то же самое в вашем ConfigureServices(IServiceCollection services)
, просмотрев свойство Configuration
в Startup.cs
.
Ваш Startup.cs
может выглядеть следующим образом:
public class Startup {
public Startup(IConfiguration configuration) {
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services) {
// get http url
var httpEndpoint = Configuration["Kestrel:Endpoints:Http:Url"];
// get https url
var httpsEndpoint = Configuration["Kestrel:Endpoints:Https:Url"];
/*
* Use IConfiguration to retrieve information
* about loaded configuration.
*/
// Add framework services.
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
}
app.UseMvc();
}
}
Посетите страницу документации IConfiguration
Microsoft для получения дополнительной информации о том, какие методы вы можете использовать для чтения данных конфигурации.