Класс WebApplication. Запуск и остановка приложения, доступ к событиям жизненного цикла приложения

Класс WebApplication реализует сразу три интерфейса IHost, IApplicationBuilder и IEndpointRouteBuilder и используется для широкого круга задач — от запуска и остановки приложения, до настройки маршрутов, с которыми сопоставляются запросы пользователей, конвейера обработки запросов и получения доступа к настройкам приложения.

Читать далее

Файл Program.cs проекта ASP.NET Core Web API

Файл Program.cs – это главный файл нашего приложения с которого начинается абсолютно всё, что касается работы. В зависимости от того, какая версия платформы .NET выбрана при создании нового проекта, зависит содержимое этого файла.

Читать далее

ASP.NET Core Web API. Работа с ответом в middleware

До сих пор мы разрабатывали компоненты middleware, которые, если можно так выразиться, работали только слева направо — то есть, запрос либо проходил всю цепочку middleware в конвейере, либо прерывался в каком-либо middleware и пользователю возвращался код ошибки. Вместе с тем, если вспомнить схему из самой первой темы про middleware, то на ней показано прохождение запроса как слева направо, так и наоборот — справа на лево. При этом, при движении в обратном направлении мы можем изменять ответ сервера. В этой части рассмотрим вопросы связанные с модификацией ответа сервера.

Читать далее

ASP.NET Core Web API. Способы создания компонентов middleware

В зависимости от наших потребностей, в ASP.NET Core мы можем создавать компоненты middleware различными способами. В этой части мы рассмотрим возможные способы создания компонентов middleware при разработке приложений Web API на одном примере, чтобы наглядно продемонстрировать преимущества и недостатки того или иного способа.

Читать далее

ASP.NET Core Web API. Работа с запросом пользователя (объект HttpRequest)

При разработке приложений ASP.NET Core Web API на основе контроллеров платформа позволяет нам максимально лаконично и удобно работать с запросами пользователя и ответами сервера. По сути, в большинстве случаев, для формирования ответа пользователю, нам требуется создать какой-либо объект, содержащий данные для ответа и передать его в результате выполнения метода контроллера. Далее, ASP.NET Core задействует встроенные механизмы сериализации объекта в JSON, добавит необходимые заголовки ответа и т.д. Чаще нам потребуется работа с параметрами запроса пользователя, которые в объекте HttpContext содержатся в свойстве Request. Рассмотрим это свойство подробнее, прежде, чем рассмотрим ещё один пример использования middleware в своих приложениях.

Читать далее

ASP.NET Core Web API. RequestDelegate и контекст запроса

Для создания компонентов middleware используется делегат RequestDelegate, который выполняет некоторое действие и принимает контекст запроса. который представлен объектом HttpContext. Рассмотрим использование этого объекта в приложениях ASP.NET Core Web API.

Читать далее

ASP.NET Core Web API. Конвейер обработки запросов и middleware

Обработка запросов в ASP.NET Core построена по принципу конвейера, состоящего из делегатов запроса. Делегат запроса представляет собой некий фрагмент кода, который может выглядеть как обычный анонимный метод или класс C#. Делегаты запроса называются ПО промежуточного слоя. Также можно встретить такие названия как компонент middleware или просто — middleware. Компонент middleware может выполнять работу как до, так и после вызова следующего компонента в конвейере запроса или же не вызывать следующий компонент конвейера — в этом случае компонент middleware будет называться терминальным. В этой части мы рассмотрим основные моменты, касающиеся организации конвейера обработки запросов в приложениях ASP.NET Core Web API.

Читать далее