Важную роль в приложении играет конфигурация. Под конфигурацией обычно понимаются какие-либо настройки приложения, применяемые, например, при запуске приложения. Это могут быть такие настройки, как строки подключения к базам данных, настройки оформления окон приложения, включение каких-либо опций и т.д. В ASP.NET Core мы можем использовать несколько подходов для работы с конфигурацией.
ASP.NET Core
Маршрутизация в ASP.NET Core. Получение параметров запроса из URL
Одной из часто используемых форм передачи данных в приложение ASP.NET Core является использование параметров запросов в URL. Мы уже сталкивались с этими параметрами, когда разбирались с классом HttpRequest. Сегодня рассмотрим как использовать параметры запроса в URL для конечных точек приложения ASP.NET Core.
Маршрутизация в ASP.NET Core. Создание собственных ограничений маршрутов (интерфейс IRouteConstraint)
Несмотря на то, что ASP.NET Core предлагает довольно большой перечень стандартных ограничений для параметров маршрутов, позволяющих покрыть, если не все 100, то 99,9% потребностей разработчика, всё же таких ограничений может оказаться недостаточно для работы и поэтому в ASP.NET Core мы можем самостоятельно создавать собственные ограничения. Рассмотрим как это можно сделать.
Маршрутизация в ASP.NET Core. Ограничения маршрутов
Как правило, ограничения маршрута применяются для решения того, допустимо ли для параметра маршрута значение, выделенное при парсинге из пути. Вернемся к нашему приложению со списком задач и посмотрим, как можно использовать ограничения маршрутов в ASP.NET Core.
Маршрутизация в ASP.NET Core. Параметры маршрутов
Для сопоставления пути запроса и делегата, который должен выполнится, в системе маршрутизации ASP.NET Core используются шаблоны маршрутов. До сих пор мы использовали простейшие шаблоны маршрутов типа /home, /index и так далее. Вместе с тем, мы можем задавать шаблоны маршрутов, содержащих параметры и различные ограничения эти параметров. Сегодня более подробно разберемся с шаблонами маршрутов в ASP.NET Core.
Маршрутизация в ASP.NET Core. Получение информации о конечных точках в приложении (EndpointDataSource)
Иногда бывает необходимо получить информацию о всех конечных точках (маршрутах) приложения в удобно для дальнейшего использования виде. И сегодня мы рассмотрим несколько вариантов получения информации о конечных точках в приложении. Во всех рассмотренных вариантах будет использован сервис, который включен в наше приложение ASP.NET Core по умолчанию — EndpointDataSource.
Маршрутизация в ASP.NET Core. Конечные точки (endpoints)
В общем случае, маршрутизация в ASP.NET Core — это механизм сопоставления входящих HTTP-запросов с конкретными обработчиками (конечными точками, endpoints) в приложении. Мы уже знаем, что такое компоненты middleware и сервисы. Теперь разберемся с тем, как работает маршрутизация и конечные точки.
Создание middleware на базе фабрики классов
Компоненты middleware можно создавать, как в форме делегатов (inline middleware), так и в виде отдельных классов. При создании класса middleware мы использовали т.н. активацию middleware по соглашению, когда к создаваемом классу предъявляются определенные требования к конструктору, реализуемым методам и т.д. Вместе с этим в ASP.NET Core, начиная с версии 2.0 появилась третья возможность создания компонентов middleware — на базе фабрики классов (factory-based middleware).
Dependency Injection в ASP.NET Core. Жизненный цикл зависимостей
Понимание жизненного цикла зависимостей в ASP.NET Core (и не только) — довольно сложная, но, одновременно и важная тема. До сих пор мы особенно не вдавались в этот момент, просто тренируясь регистрировать сервисы, получать их различными способами и т.д. Сегодня попробуем разобраться с жизненным циклом зависимости в ASP.NET на примере.
Dependency Injection в ASP.NET Core. Способы получения сервисов
В ASP.NET Core зарегистрированные сервисы можно получить различными способами. До этого момента мы использовали только один из способов — путем вызова метода GetService. Сегодня рассмотрим другие возможные способы получения сервисов в ASP.NET Core