"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"applicationUrl": "https://localhost:5021;http://localhost:5020",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
Создание и конфигурирование экземпляра WebHost
В отличие от классических приложений ASP.NET MVC или ASP.NET Web API приложения ASP.NET Core — это просто консольные приложения .NET Core, которые создают и конфигурируют экземпляр WebHost
WebHost и его последующее конфигурирование обеспечивают настройку приложения на прослушивание (и реагирование) на запросы HTTP. Экземпляр WebHost создается в методе Main внутри файла Program.cs. Затем экземпляр WebHost конфигурируется для вашего приложения в файле Startup.cs.Файл Program.cs
Откройте файл класса Program.cs
AutoLot.Api и просмотрите его содержимое, которое для справки приведено ниже:namespace AutoLot.Api
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build.Run;
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup
});
}
}
Метод CreateDefaultBuilder
appsettings), настраивает стандартный поставщик ведения журнала и устанавливает контейнер DI. Такая настройка обеспечивается шаблонами ASP.NET Core для приложений API и MVC.Следующий метод, ConfigureWebHostDefaults
Startup. Наконец, вызывается метод Run для активизации экземпляра WebHost.Помимо экземпляра WebHost
IConfiguration, который добавляется внутрь контейнера DI.Файл Startup.cs
Класс Startup
UseStartup в конфигурации метода CreateHostBuilder, но по соглашению класс именуется как Startup.Доступные службы для класса Startup
Процессу запуска требуется доступ к инфраструктуре, а также к службам и настройкам среды, которые внедряются в класс инфраструктурой. Классу Startup
Конструктор принимает экземпляр реализации IConfiguration
IWebHostEnvironment/IHostEnvironment. Метод ConfigureServices запускается до того, как метод Configure получает экземпляр реализации IServiceCollection. Метод Configure должен принимать экземпляр реализации IApplicationBuilder, но может принимать экземпляры реализаций IWebHostEnvironment/IHostEnvironment, ILoggerFactory и любых интерфейсов, которые были добавлены внутрь контейнера DI в методе ConfigureServices. Все перечисленные компоненты обсуждаются в последующих разделах.Конструктор
Конструктор принимает экземпляр реализации интерфейса IConfiguration
Host.CreateDefaultBuilder в файле класса Program.cs, и присваивает его свойству Configuration для использования где-то в другом месте внутри класса. Конструктор также может принимать экземпляр реализации IWebHostEnvironment и/или ILoggerFactory, хотя он не добавляется в стандартном шаблоне.Добавьте в конструктор параметр для IWebHostEnvironment
ConfigureServices. Проделайте такую же работу для приложений AutoLot.Api и AutoLot.Mvc.private readonly IWebHostEnvironment _env;
public Startup(
Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT