Читаем Язык программирования C#9 и платформа .NET5 полностью

 Еще одно преимущество маршрутизации связано с тем, что вам больше не придется жестко кодировать URL для других страниц в своем сайте. Записи в таблице маршрутов применяются для сопоставления с входящими запросами, а также для построения URL. При построении URL схема, хост и порт добавляются на основе значений текущего запроса.

<p id="AutBody_Root1352"><strong>Фильтры</strong></p>

Фильтры в ASP.NET Core запускают код до или после специфической фазы конвейера обработки запросов. Существуют встроенные фильтры для авторизации и кеширования, а также возможность назначения специальных фильтров. В табл. 29.7 описаны типы фильтров, которые могут быть добавлены в конвейер, перечисленные в порядке их выполнения.

<p id="AutBody_Root1353"><strong>Фильтры авторизации</strong></p>

Фильтры авторизации работают с системой ASP.NET Core Identity, чтобы предотвратить доступ к контроллерам или действиям, использовать которые пользователь не имеет права. Создавать специальные фильтры авторизации не рекомендуется, поскольку встроенные классы AuthorizeAttribute и AllowAnonymousAttribute обычно обеспечивают достаточный охват в случае применения ASP.NET Core Identity.

<p id="AutBody_Root1354"><strong>Фильтры ресурсов</strong></p>

Код "перед" выполняется после фильтров авторизации и до любых других фильтров, а код "после" выполняется после всех остальных фильтров. Таким образом, фильтры ресурсов способны замкнуть накоротко целый конвейер запросов. Обычно фильтры ресурсов используются для кеширования. Если ответ находится в кеше, тогда фильтр может пропустить остаток конвейера.

<p id="AutBody_Root1355"><strong>Фильтры действий</strong></p>

Код "перед" выполняется немедленно перед выполнением метода действия, а код "после" выполняется сразу после выполнения метода действия. Фильтры действий могут замкнуть накоротко метод действия и любые фильтры, помещенные внутрь фильтров действий.

<p id="AutBody_Root1356"><strong>Фильтры исключений</strong></p>

Фильтры исключений реализуют сквозную обработку ошибок в приложении. У них нет событий, возникающих до или после, но они обрабатывают любые необработанные исключения, сгенерированные при создании контроллеров, привязке моделей, запуске фильтров действий либо выполнении методов действий.

<p id="AutBody_Root1357"><strong>Фильтры результатов</strong></p>

 Фильтры результатов завершают выполнение экземпляра реализации IActionResult для метода действия. Распространенный сценарий применения фильтра результатов предусматривает добавление с его помощью информации заголовка в сообщение ответа HTTP.

<p id="AutBody_Root1358"><strong>Нововведения в ASP.NET Core</strong></p>

Помимо поддержки базовой функциональности ASP.NET MVC и ASP.NET Web API разработчики ASP.NET Core сумели добавить множество новых средств и улучшений в сравнении с предшествующими инфраструктурами. В дополнение к унификации инфраструктур и контроллеров появились следующие усовершенствования и инновации:

• встроенное внедрение зависимостей:

• система конфигурации, основанная на среде и готовая к взаимодействию с облачными технологиями;

• легковесный, высокопроизводительный и модульный конвейер запросов HTTP.

• вся инфраструктура основана на мелкозернистых пакетах NuGet;

• интеграция современных инфраструктур и рабочих потоков разработки для клиентской стороны;

• введение вспомогательных функций дескрипторов;

• введение компонентов представлений;

• огромные улучшения в плане производительности.

<p id="AutBody_Root1359"><strong>Встроенное внедрение зависимостей</strong></p>

Внедрение зависимостей (dependency injection — DI) представляет собой механизм для поддержки слабой связанности между объектами. Вместо создания зависимых объектов напрямую или передачи специфических реализаций в классы и/или методы параметры определяются как интерфейсы. Таким образом, классам или методам и классам могут передаваться любые реализации интерфейсов, что разительно увеличивает гибкость приложения.

Поддержка DI — один из главных принципов, заложенных в переписанную версию ASP.NET Core. Все службы конфигурации и промежуточного ПО через внедрение зависимостей получает не только класс Startup (рассматриваемый позже в главе); ваши специальные классы могут (и должны) быть добавлены в контейнер DI с целью внедрения в другие части приложения. При конфигурировании элемента в контейнере ASP.NET Core DI доступны три варианта времени существования, кратко описанные в табл. 29.8.

Элементы в контейнере DI могут быть внедрены внутрь конструкторов и методов классов, а также в представления Razor.

На заметку! Если вы хотите использовать другой контейнер DI, то имейте в виду, что инфраструктура ASP.NET Core проектировалась с учетом такой гибкости. Чтобы узнать, как подключить другой контейнер DI, обратитесь в документацию по ссылке https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/dependency-injection.

<p id="AutBody_Root1360"><strong>Осведомленность о среде</strong></p>
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных