В предыдущей части мы на основании данных запроса создали простейшую систему маршрутизации в нашем приложении ASP.NET Core. При этом, в ASP.NET Core имеются возможности создания веток конвейера запросов. В частности, сегодня мы рассмотрим создание конвейера запросов с использованием метода Map.
ASP.NET Core
Получение данных запроса. Работа с HttpRequest
При разработке web-приложений в ASP.NET Core важно знать, какой именно запрос осуществляет пользователь. Как минимум нам необходимо знать по какому пути отправлен запрос, какой HTTP-метод был использован (GET, POST, PUT и т.д.). Эти и другие свойства запроса содержаться в свойстве HttpRequest объекта HttpContext о котором пойдет речь далее.
Отправка ответа клиенту. Работа с HttpResponse.
Как мы уже знаем, все данные запроса передаются в компоненты middleware через объект HttpContext (контекст запроса), который, помимо прочих полезных свойств, содержит также свойство HttpResponse, представляющее собой объект, содержащий данные ответа клиенту. Разберемся с этим объектом более детально.
Создание конвейера запросов в ASP.NET Core с помощью WebApplication. Методы Run и Use
Как мы уже знаем, запросы в ASP.NET Core обрабатываются по принципу конвейера. В самом простейшем приложении ASP.NET Core встраивается один делегат запроса, обрабатывающий все входящие запросы. В этом случае конвейер запросов как таковой отсутствует. Вместо этого в ответ на каждый HTTP-запрос вызывается одна анонимная функция.
Конвейер обработки запросов и middleware в ASP.NET Core
Обработка каждого запроса в ASP.NET Core устроена по принципу конвейера, который состоит из различных компонентов, которые также называются middleware. Также, в русскоязычной литературе можно встретить название «ПО промежуточного слоя», «компоненты middleware» или просто — middleware. При получении запроса данные запроса передаются в первый компонент в конвейере, затем, компонент может завершить обработку запроса или же передать запрос далее по конвейеру. После того, как запрос обработан последним компонентом, он возвращается предыдущему и т.д.
Основные сведения о классах WebApplication и WebApplicationBuilder
В предыдущей части мы создали пустое приложение ASP.NET Core, которое, по сути, использует Minimal API, т.е. создание и настройка приложения сведена к необходимому минимум. Сегодня рассмотрим более детально содержимое файла Program.cs.
Первое приложение ASP.NET Core в Visual Studio
Создавать приложения ASP.NET Core мы можем в самых различных редакторах, включая и VS Code и Visual Studio. Здесь и далее работа с ASP.NET Core будет вестись в Visual Studio.
Общие сведения об ASP.NET Core
ASP.NET Core является кроссплатформенной, высокопроизводительной платформой с открытым исходным кодом для создания современных web-приложений. В качестве языков программирования для разработки приложений на ASP.NET Core используются C# и F#.